blob: 1e9c1e936f6a0b9743316cd6787ec1add8968410 [file] [log] [blame]
// Code generated by tensor/numeric.gen.go.tmpl. DO NOT EDIT.
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package tensor
import (
"github.com/apache/arrow/go/arrow"
"github.com/apache/arrow/go/arrow/array"
)
// Int8 is an n-dim array of int8s.
type Int8 struct {
tensorBase
values []int8
}
// NewInt8 returns a new n-dimensional array of int8s.
// If strides is nil, row-major strides will be inferred.
// If names is nil, a slice of empty strings will be created.
func NewInt8(data *array.Data, shape, strides []int64, names []string) *Int8 {
tsr := &Int8{tensorBase: *newTensor(arrow.PrimitiveTypes.Int8, data, shape, strides, names)}
vals := tsr.data.Buffers()[1]
if vals != nil {
tsr.values = arrow.Int8Traits.CastFromBytes(vals.Bytes())
beg := tsr.data.Offset()
end := beg + tsr.data.Len()
tsr.values = tsr.values[beg:end]
}
return tsr
}
func (tsr *Int8) Value(i []int64) int8 { j := int(tsr.offset(i)); return tsr.values[j] }
func (tsr *Int8) Int8Values() []int8 { return tsr.values }
// Int16 is an n-dim array of int16s.
type Int16 struct {
tensorBase
values []int16
}
// NewInt16 returns a new n-dimensional array of int16s.
// If strides is nil, row-major strides will be inferred.
// If names is nil, a slice of empty strings will be created.
func NewInt16(data *array.Data, shape, strides []int64, names []string) *Int16 {
tsr := &Int16{tensorBase: *newTensor(arrow.PrimitiveTypes.Int16, data, shape, strides, names)}
vals := tsr.data.Buffers()[1]
if vals != nil {
tsr.values = arrow.Int16Traits.CastFromBytes(vals.Bytes())
beg := tsr.data.Offset()
end := beg + tsr.data.Len()
tsr.values = tsr.values[beg:end]
}
return tsr
}
func (tsr *Int16) Value(i []int64) int16 { j := int(tsr.offset(i)); return tsr.values[j] }
func (tsr *Int16) Int16Values() []int16 { return tsr.values }
// Int32 is an n-dim array of int32s.
type Int32 struct {
tensorBase
values []int32
}
// NewInt32 returns a new n-dimensional array of int32s.
// If strides is nil, row-major strides will be inferred.
// If names is nil, a slice of empty strings will be created.
func NewInt32(data *array.Data, shape, strides []int64, names []string) *Int32 {
tsr := &Int32{tensorBase: *newTensor(arrow.PrimitiveTypes.Int32, data, shape, strides, names)}
vals := tsr.data.Buffers()[1]
if vals != nil {
tsr.values = arrow.Int32Traits.CastFromBytes(vals.Bytes())
beg := tsr.data.Offset()
end := beg + tsr.data.Len()
tsr.values = tsr.values[beg:end]
}
return tsr
}
func (tsr *Int32) Value(i []int64) int32 { j := int(tsr.offset(i)); return tsr.values[j] }
func (tsr *Int32) Int32Values() []int32 { return tsr.values }
// Int64 is an n-dim array of int64s.
type Int64 struct {
tensorBase
values []int64
}
// NewInt64 returns a new n-dimensional array of int64s.
// If strides is nil, row-major strides will be inferred.
// If names is nil, a slice of empty strings will be created.
func NewInt64(data *array.Data, shape, strides []int64, names []string) *Int64 {
tsr := &Int64{tensorBase: *newTensor(arrow.PrimitiveTypes.Int64, data, shape, strides, names)}
vals := tsr.data.Buffers()[1]
if vals != nil {
tsr.values = arrow.Int64Traits.CastFromBytes(vals.Bytes())
beg := tsr.data.Offset()
end := beg + tsr.data.Len()
tsr.values = tsr.values[beg:end]
}
return tsr
}
func (tsr *Int64) Value(i []int64) int64 { j := int(tsr.offset(i)); return tsr.values[j] }
func (tsr *Int64) Int64Values() []int64 { return tsr.values }
// Uint8 is an n-dim array of uint8s.
type Uint8 struct {
tensorBase
values []uint8
}
// NewUint8 returns a new n-dimensional array of uint8s.
// If strides is nil, row-major strides will be inferred.
// If names is nil, a slice of empty strings will be created.
func NewUint8(data *array.Data, shape, strides []int64, names []string) *Uint8 {
tsr := &Uint8{tensorBase: *newTensor(arrow.PrimitiveTypes.Uint8, data, shape, strides, names)}
vals := tsr.data.Buffers()[1]
if vals != nil {
tsr.values = arrow.Uint8Traits.CastFromBytes(vals.Bytes())
beg := tsr.data.Offset()
end := beg + tsr.data.Len()
tsr.values = tsr.values[beg:end]
}
return tsr
}
func (tsr *Uint8) Value(i []int64) uint8 { j := int(tsr.offset(i)); return tsr.values[j] }
func (tsr *Uint8) Uint8Values() []uint8 { return tsr.values }
// Uint16 is an n-dim array of uint16s.
type Uint16 struct {
tensorBase
values []uint16
}
// NewUint16 returns a new n-dimensional array of uint16s.
// If strides is nil, row-major strides will be inferred.
// If names is nil, a slice of empty strings will be created.
func NewUint16(data *array.Data, shape, strides []int64, names []string) *Uint16 {
tsr := &Uint16{tensorBase: *newTensor(arrow.PrimitiveTypes.Uint16, data, shape, strides, names)}
vals := tsr.data.Buffers()[1]
if vals != nil {
tsr.values = arrow.Uint16Traits.CastFromBytes(vals.Bytes())
beg := tsr.data.Offset()
end := beg + tsr.data.Len()
tsr.values = tsr.values[beg:end]
}
return tsr
}
func (tsr *Uint16) Value(i []int64) uint16 { j := int(tsr.offset(i)); return tsr.values[j] }
func (tsr *Uint16) Uint16Values() []uint16 { return tsr.values }
// Uint32 is an n-dim array of uint32s.
type Uint32 struct {
tensorBase
values []uint32
}
// NewUint32 returns a new n-dimensional array of uint32s.
// If strides is nil, row-major strides will be inferred.
// If names is nil, a slice of empty strings will be created.
func NewUint32(data *array.Data, shape, strides []int64, names []string) *Uint32 {
tsr := &Uint32{tensorBase: *newTensor(arrow.PrimitiveTypes.Uint32, data, shape, strides, names)}
vals := tsr.data.Buffers()[1]
if vals != nil {
tsr.values = arrow.Uint32Traits.CastFromBytes(vals.Bytes())
beg := tsr.data.Offset()
end := beg + tsr.data.Len()
tsr.values = tsr.values[beg:end]
}
return tsr
}
func (tsr *Uint32) Value(i []int64) uint32 { j := int(tsr.offset(i)); return tsr.values[j] }
func (tsr *Uint32) Uint32Values() []uint32 { return tsr.values }
// Uint64 is an n-dim array of uint64s.
type Uint64 struct {
tensorBase
values []uint64
}
// NewUint64 returns a new n-dimensional array of uint64s.
// If strides is nil, row-major strides will be inferred.
// If names is nil, a slice of empty strings will be created.
func NewUint64(data *array.Data, shape, strides []int64, names []string) *Uint64 {
tsr := &Uint64{tensorBase: *newTensor(arrow.PrimitiveTypes.Uint64, data, shape, strides, names)}
vals := tsr.data.Buffers()[1]
if vals != nil {
tsr.values = arrow.Uint64Traits.CastFromBytes(vals.Bytes())
beg := tsr.data.Offset()
end := beg + tsr.data.Len()
tsr.values = tsr.values[beg:end]
}
return tsr
}
func (tsr *Uint64) Value(i []int64) uint64 { j := int(tsr.offset(i)); return tsr.values[j] }
func (tsr *Uint64) Uint64Values() []uint64 { return tsr.values }
// Float32 is an n-dim array of float32s.
type Float32 struct {
tensorBase
values []float32
}
// NewFloat32 returns a new n-dimensional array of float32s.
// If strides is nil, row-major strides will be inferred.
// If names is nil, a slice of empty strings will be created.
func NewFloat32(data *array.Data, shape, strides []int64, names []string) *Float32 {
tsr := &Float32{tensorBase: *newTensor(arrow.PrimitiveTypes.Float32, data, shape, strides, names)}
vals := tsr.data.Buffers()[1]
if vals != nil {
tsr.values = arrow.Float32Traits.CastFromBytes(vals.Bytes())
beg := tsr.data.Offset()
end := beg + tsr.data.Len()
tsr.values = tsr.values[beg:end]
}
return tsr
}
func (tsr *Float32) Value(i []int64) float32 { j := int(tsr.offset(i)); return tsr.values[j] }
func (tsr *Float32) Float32Values() []float32 { return tsr.values }
// Float64 is an n-dim array of float64s.
type Float64 struct {
tensorBase
values []float64
}
// NewFloat64 returns a new n-dimensional array of float64s.
// If strides is nil, row-major strides will be inferred.
// If names is nil, a slice of empty strings will be created.
func NewFloat64(data *array.Data, shape, strides []int64, names []string) *Float64 {
tsr := &Float64{tensorBase: *newTensor(arrow.PrimitiveTypes.Float64, data, shape, strides, names)}
vals := tsr.data.Buffers()[1]
if vals != nil {
tsr.values = arrow.Float64Traits.CastFromBytes(vals.Bytes())
beg := tsr.data.Offset()
end := beg + tsr.data.Len()
tsr.values = tsr.values[beg:end]
}
return tsr
}
func (tsr *Float64) Value(i []int64) float64 { j := int(tsr.offset(i)); return tsr.values[j] }
func (tsr *Float64) Float64Values() []float64 { return tsr.values }
var (
_ Interface = (*Int8)(nil)
_ Interface = (*Int16)(nil)
_ Interface = (*Int32)(nil)
_ Interface = (*Int64)(nil)
_ Interface = (*Uint8)(nil)
_ Interface = (*Uint16)(nil)
_ Interface = (*Uint32)(nil)
_ Interface = (*Uint64)(nil)
_ Interface = (*Float32)(nil)
_ Interface = (*Float64)(nil)
)