12345678910111213141516171819202122232425262728293031 |
- package main
- import (
- "flow"
- "log"
- vecasm "github.com/gohxs/vec-benchmark/asm"
- )
- func vecmul(a, b []float32) []float32 {
- sz := len(a)
- if sz > len(b) {
- sz = len(b)
- }
- out := make([]float32, sz)
- vecasm.VecMulf32x8(a, b, out)
- return out
- }
- func main() {
- flow.Register("vecmul", vecmul)
- f := flow.New("f1")
- f.SetOutput(f.Op("vecmul", []float32{1, 2, 3}, []float32{4, 3, 2}))
- log.Println("res:", f.Run())
- log.Println("Recurse:", f)
- }
|