tensor.go 748 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package main
  2. import (
  3. "fmt"
  4. "github.com/apache/arrow/go/arrow/array"
  5. "github.com/apache/arrow/go/arrow/memory"
  6. "github.com/apache/arrow/go/arrow/tensor"
  7. )
  8. func main() {
  9. pool := memory.NewGoAllocator()
  10. b := array.NewFloat64Builder(pool)
  11. defer b.Release()
  12. raw := []float64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
  13. b.AppendValues(raw, nil)
  14. arr := b.NewFloat64Array()
  15. defer arr.Release()
  16. f64 := tensor.NewFloat64(arr.Data(), []int64{2, 5}, nil, []string{"x", "y"})
  17. defer f64.Release()
  18. for _, i := range [][]int64{
  19. []int64{0, 0},
  20. []int64{0, 1},
  21. []int64{0, 2},
  22. []int64{0, 3},
  23. []int64{0, 4},
  24. []int64{1, 0},
  25. []int64{1, 1},
  26. []int64{1, 2},
  27. []int64{1, 3},
  28. []int64{1, 4},
  29. } {
  30. fmt.Printf("arr%v = %v\n", i, f64.Value(i))
  31. }
  32. }