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