1
2
3
4
5
6
7 package simd_test
8
9 import (
10 "simd/archsimd"
11 "testing"
12 )
13
14 func TestConvertArm64(t *testing.T) {
15 testFloat64x2ConvertToFloat32x4(t, archsimd.Float64x2.ConvertToFloat32, map1[float64](toFloat32))
16 testFloat32x4ConvertToFloat64x2(t, archsimd.Float32x4.ConvertLo2ToFloat64, map1n[float32](toFloat64, 2))
17
18 testFloat32x4ConvertToInt32x4(t, archsimd.Float32x4.ConvertToInt32, map1[float32](floatToInt32_arm64))
19 testFloat64x2ConvertToInt64x2(t, archsimd.Float64x2.ConvertToInt64, map1[float64](floatToInt64_arm64))
20
21 testFloat32x4ConvertToUint32x4(t, archsimd.Float32x4.ConvertToUint32, map1[float32](floatToUint32_arm64))
22 testFloat64x2ConvertToUint64x2(t, archsimd.Float64x2.ConvertToUint64, map1[float64](floatToUint64_arm64))
23
24 testInt32x4ConvertToFloat32x4(t, archsimd.Int32x4.ConvertToFloat32, map1[int32](toFloat32))
25 testInt64x2ConvertToFloat64x2(t, archsimd.Int64x2.ConvertToFloat64, map1[int64](toFloat64))
26
27 testUint32x4ConvertToFloat32x4(t, archsimd.Uint32x4.ConvertToFloat32, map1[uint32](toFloat32))
28 testUint64x2ConvertToFloat64x2(t, archsimd.Uint64x2.ConvertToFloat64, map1[uint64](toFloat64))
29 }
30
31 func TestTruncateArm64(t *testing.T) {
32 testInt16x8ConvertToInt8x16(t, archsimd.Int16x8.TruncToInt8, map1[int16](toInt8))
33 testInt32x4ConvertToInt16x8(t, archsimd.Int32x4.TruncToInt16, map1[int32](toInt16))
34 testInt64x2ConvertToInt32x4(t, archsimd.Int64x2.TruncToInt32, map1[int64](toInt32))
35
36 testUint16x8ConvertToUint8x16(t, archsimd.Uint16x8.TruncToUint8, map1[uint16](toUint8))
37 testUint32x4ConvertToUint16x8(t, archsimd.Uint32x4.TruncToUint16, map1[uint32](toUint16))
38 testUint64x2ConvertToUint32x4(t, archsimd.Uint64x2.TruncToUint32, map1[uint64](toUint32))
39 }
40
View as plain text