88)
99
1010func ExampleFindOrder_mod15 () {
11- s , r , d , ok := number .FindOrder (7 , 15 , "0.110" )
11+ s , r , d , ok := number .FindOrder (7 , 15 , number . Ldexp ( 6 , - 3 ) )
1212 fmt .Printf ("%v/%v=%v %v\n " , s , r , d , ok )
1313 fmt .Printf ("%d^%d mod %d = %v\n " , 7 , r , 15 , number .ModExp (7 , r , 15 ))
1414
@@ -18,7 +18,7 @@ func ExampleFindOrder_mod15() {
1818}
1919
2020func ExampleFindOrder_mod21a2 () {
21- s , r , d , ok := number .FindOrder (2 , 21 , "0.001010101" )
21+ s , r , d , ok := number .FindOrder (2 , 21 , number . Ldexp ( 85 , - 9 ) )
2222 fmt .Printf ("%v/%v=%v %v\n " , s , r , d , ok )
2323 fmt .Printf ("%d^%d mod %d = %v\n " , 2 , r , 21 , number .ModExp (2 , r , 21 ))
2424
@@ -28,7 +28,7 @@ func ExampleFindOrder_mod21a2() {
2828}
2929
3030func ExampleFindOrder_mod21a4 () {
31- s , r , d , ok := number .FindOrder (4 , 21 , "0.01010101" )
31+ s , r , d , ok := number .FindOrder (4 , 21 , number . Ldexp ( 85 , - 8 ) )
3232 fmt .Printf ("%v/%v=%v %v\n " , s , r , d , ok )
3333 fmt .Printf ("%d^%d mod %d = %v\n " , 4 , r , 21 , number .ModExp (4 , r , 21 ))
3434
@@ -40,16 +40,15 @@ func ExampleFindOrder_mod21a4() {
4040func TestFindOrder (t * testing.T ) {
4141 cases := []struct {
4242 a , N int
43- m string
43+ m float64
4444 s , r int
4545 d float64
4646 ok bool
4747 }{
48- {7 , 15 , "0.010" , 1 , 4 , 0.25 , true },
49- {7 , 15 , "0.100" , 1 , 2 , 0.50 , false },
50- {7 , 15 , "0.110" , 3 , 4 , 0.75 , true },
51- {7 , 15 , "0.1" , 1 , 2 , 0.5 , false },
52- {7 , 15 , "" , 0 , 1 , 0 , false },
48+ {7 , 15 , number .Ldexp (2 , - 3 ), 1 , 4 , 0.25 , true },
49+ {7 , 15 , number .Ldexp (4 , - 3 ), 1 , 2 , 0.50 , false },
50+ {7 , 15 , number .Ldexp (6 , - 3 ), 3 , 4 , 0.75 , true },
51+ {7 , 15 , number .Ldexp (1 , - 1 ), 1 , 2 , 0.5 , false },
5352 }
5453
5554 for _ , c := range cases {
0 commit comments