mulint_test.go raw
1 package avx
2
3 import "testing"
4
5 func TestMulInt(t *testing.T) {
6 // Test 3 * X = X + X + X
7 var x, tripleX, addX FieldElement
8 x.N[0].Lo = 12345
9
10 tripleX.MulInt(&x, 3)
11 addX.Add(&x, &x)
12 addX.Add(&addX, &x)
13
14 if !tripleX.Equal(&addX) {
15 t.Errorf("3*X != X+X+X: MulInt=%+v, Add=%+v", tripleX, addX)
16 }
17
18 // Test 2 * Y = Y + Y
19 var y, doubleY, addY FieldElement
20 y.N[0].Lo = 0xFFFFFFFFFFFFFFFF
21 y.N[0].Hi = 0xFFFFFFFFFFFFFFFF
22
23 doubleY.MulInt(&y, 2)
24 addY.Add(&y, &y)
25
26 if !doubleY.Equal(&addY) {
27 t.Errorf("2*Y != Y+Y: MulInt=%+v, Add=%+v", doubleY, addY)
28 }
29 }
30