func main() { // Struct type from the functions package rosenbrock := functions.ExtendedRosenbrock{} x := []float64{3, 4, 5} // Literal slice allocation fmt.Printf("Rosenbrock(%v) = %v", x, rosenbrock.Func(x)) }
func main() { rosenbrock := functions.ExtendedRosenbrock{} p := Uniform{ Max: -2.0, Min: 2.0, } n := 100 dim := 3 var sum float64 x := make([]float64, dim) for i := 0; i < n; i++ { for j := range x { x[j] = p.Rand() } sum += rosenbrock.Func(x) } fmt.Println("Expected value is ", sum/float64(n)) }