github.com/piotrnar/gocoin@v0.0.0-20240512203912-faa0448c5e96/lib/secp256k1/xyz_test.go (about) 1 package secp256k1 2 3 import ( 4 "testing" 5 ) 6 7 8 func _TestGejDouble(t *testing.T) { 9 var a, a_exp, r XYZ 10 a.X.SetHex("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798") 11 a.Y.SetHex("483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8") 12 a.Z.SetHex("01") 13 a_exp.X.SetHex("7D152C041EA8E1DC2191843D1FA9DB55B68F88FEF695E2C791D40444B365AFC2") 14 a_exp.Y.SetHex("56915849F52CC8F76F5FD7E4BF60DB4A43BF633E1B1383F85FE89164BFADCBDB") 15 a_exp.Z.SetHex("9075B4EE4D4788CABB49F7F81C221151FA2F68914D0AA833388FA11FF621A970") 16 17 a.Double(&r) 18 if !r.Equals(&a_exp) { 19 t.Error("gej.Double failed") 20 } 21 } 22 23 func TestGejMulLambda(t *testing.T) { 24 var a, a_exp XYZ 25 a.X.SetHex("0eaebcd1df2df853d66ce0e1b0fda07f67d1cabefde98514aad795b86a6ea66d") 26 a.Y.SetHex("beb26b67d7a00e2447baeccc8a4cef7cd3cad67376ac1c5785aeebb4f6441c16") 27 a.Z.SetHex("01") 28 a_exp.X.SetHex("a45720c272cfa1f77f64be8a404a7d3149bd5410f9a173353f6eb75a5085ba98") 29 a_exp.Y.SetHex("beb26b67d7a00e2447baeccc8a4cef7cd3cad67376ac1c5785aeebb4f6441c16") 30 a_exp.Z.SetHex("01") 31 a_lam := a 32 a_lam.mul_lambda(&a_lam) 33 if !a_lam.Equals(&a_exp) { 34 t.Error("mul_lambda failed") 35 } 36 } 37 38 func TestGejGetX(t *testing.T) { 39 var a XYZ 40 var X, exp Field 41 a.X.SetHex("EB6752420B6BDB40A760AC26ADD7E7BBD080BF1DF6C0B009A0D310E4511BDF49") 42 a.Y.SetHex("8E8CEB84E1502FC536FFE67967BC44314270A0B38C79865FFED5A85D138DCA6B") 43 a.Z.SetHex("813925AF112AAB8243F8CCBADE4CC7F63DF387263028DE6E679232A73A7F3C31") 44 45 exp.SetHex("fe00e013c244062847045ae7eb73b03fca583e9aa5dbd030a8fd1c6dfcf11b10") 46 a.get_x(&X) 47 if !X.Equals(&exp) { 48 t.Error("get.get_x() fail") 49 } 50 } 51 52