github.com/apache/arrow/go/v16@v16.1.0/arrow/math/float64_avx2_amd64.go (about) 1 // Code generated by type_simd_amd64.go.tmpl. DO NOT EDIT. 2 3 // Licensed to the Apache Software Foundation (ASF) under one 4 // or more contributor license agreements. See the NOTICE file 5 // distributed with this work for additional information 6 // regarding copyright ownership. The ASF licenses this file 7 // to you under the Apache License, Version 2.0 (the 8 // "License"); you may not use this file except in compliance 9 // with the License. You may obtain a copy of the License at 10 // 11 // http://www.apache.org/licenses/LICENSE-2.0 12 // 13 // Unless required by applicable law or agreed to in writing, software 14 // distributed under the License is distributed on an "AS IS" BASIS, 15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 // See the License for the specific language governing permissions and 17 // limitations under the License. 18 19 //go:build !noasm 20 // +build !noasm 21 22 package math 23 24 import ( 25 "unsafe" 26 27 "github.com/apache/arrow/go/v16/arrow/array" 28 ) 29 30 //go:noescape 31 func _sum_float64_avx2(buf unsafe.Pointer, len uintptr, res unsafe.Pointer) 32 33 func sum_float64_avx2(a *array.Float64) float64 { 34 buf := a.Float64Values() 35 var ( 36 p1 = unsafe.Pointer(&buf[0]) 37 p2 = uintptr(len(buf)) 38 res float64 39 ) 40 _sum_float64_avx2(p1, p2, unsafe.Pointer(&res)) 41 return res 42 }