// Copyright ©2013 The Gonum Authors. All rights reserved. // Use of this code is governed by a BSD-style // license that can be found in the LICENSE file. package floats_test import ( "fmt" "gonum.org/v1/gonum/floats" ) // Set of examples for all the functions func ExampleAdd_simple() { // Adding three slices together. Note that // the result is stored in the first slice s1 := []float64{1, 2, 3, 4} s2 := []float64{5, 6, 7, 8} s3 := []float64{1, 1, 1, 1} floats.Add(s1, s2) floats.Add(s1, s3) fmt.Println("s1 =", s1) fmt.Println("s2 =", s2) fmt.Println("s3 =", s3) // Output: // s1 = [7 9 11 13] // s2 = [5 6 7 8] // s3 = [1 1 1 1] } func ExampleAdd_newslice() { // If one wants to store the result in a // new container, just make a new slice s1 := []float64{1, 2, 3, 4} s2 := []float64{5, 6, 7, 8} s3 := []float64{1, 1, 1, 1} dst := make([]float64, len(s1)) floats.AddTo(dst, s1, s2) floats.Add(dst, s3) fmt.Println("dst =", dst) fmt.Println("s1 =", s1) fmt.Println("s2 =", s2) fmt.Println("s3 =", s3) // Output: // dst = [7 9 11 13] // s1 = [1 2 3 4] // s2 = [5 6 7 8] // s3 = [1 1 1 1] } func ExampleAdd_unequallengths() { // If the lengths of the slices are unknown, // use EqualLengths to check s1 := []float64{1, 2, 3} s2 := []float64{5, 6, 7, 8} eq := floats.EqualLengths(s1, s2) if eq { floats.Add(s1, s2) } else { fmt.Println("Unequal lengths") } // Output: // Unequal lengths } func ExampleAddConst() { s := []float64{1, -2, 3, -4} c := 5.0 floats.AddConst(c, s) fmt.Println("s =", s) // Output: // s = [6 3 8 1] } func ExampleCumProd() { s := []float64{1, -2, 3, -4} dst := make([]float64, len(s)) floats.CumProd(dst, s) fmt.Println("dst =", dst) fmt.Println("s =", s) // Output: // dst = [1 -2 -6 24] // s = [1 -2 3 -4] } func ExampleCumSum() { s := []float64{1, -2, 3, -4} dst := make([]float64, len(s)) floats.CumSum(dst, s) fmt.Println("dst =", dst) fmt.Println("s =", s) // Output: // dst = [1 -1 2 -2] // s = [1 -2 3 -4] }