Source File
float16.go
Belonging Package
github.com/apache/arrow-go/v18/arrow/array
// 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 arrayimport ()// A type which represents an immutable sequence of Float16 values.type Float16 struct {arrayvalues []float16.Num}func ( arrow.ArrayData) *Float16 {:= &Float16{}.refCount.Add(1).setData(.(*Data))return}func ( *Float16) ( int) float16.Num { return .values[] }func ( *Float16) ( int) string {if .IsNull() {return NullValueStr}return .Value().String()}func ( *Float16) () []float16.Num { return .values }func ( *Float16) () string {:= new(strings.Builder).WriteString("[")for := 0; < .Len(); ++ {if > 0 {fmt.Fprintf(, " ")}switch {case .IsNull():.WriteString(NullValueStr)default:fmt.Fprintf(, "%v", .values[].Float32())}}.WriteString("]")return .String()}func ( *Float16) ( *Data) {.array.setData():= .buffers[1]if != nil {.values = arrow.Float16Traits.CastFromBytes(.Bytes()):= .data.offset:= + .data.length.values = .values[:]}}func ( *Float16) ( int) interface{} {if .IsValid() {return .values[].Float32()}return nil}func ( *Float16) () ([]byte, error) {:= make([]interface{}, .Len())for , := range .values {if !.IsValid() {[] = nilcontinue}switch {case .IsNaN():[] = "NaN"case .IsInf() && !.Signbit():[] = "+Inf"case .IsInf() && .Signbit():[] = "-Inf"default:[] = .Float32()}}return json.Marshal()}var (_ arrow.Array = (*Float16)(nil)_ arrow.TypedArray[float16.Num] = (*Float16)(nil))
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |