Skip to content

Commit 7ef0307

Browse files
Test with bases other than 10.
1 parent a370bac commit 7ef0307

File tree

1 file changed

+32
-20
lines changed

1 file changed

+32
-20
lines changed

test/src/core.js

Lines changed: 32 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -88,14 +88,16 @@ const simplify = [ 'simplify' , '=' , [
8888
}
8989
] , unary , alu => alu.egcd ] ;
9090

91-
const stringify = [ 'stringify' , '=' , [
92-
alu => {
93-
const b = 10 ;
94-
const bfactors = ufactors( b ) ;
95-
const digits = _digits({ b , bfactors , ...alu }) ;
96-
return ( x , d ) => _stringify_digits( alu.str , b , digits(x, d) ) ;
97-
}
98-
] , unary , alu => alu.egcd ] ;
91+
92+
const stringify_n = b => alu => {
93+
const bfactors = ufactors( b ) ;
94+
const digits = _digits({ b , bfactors , ...alu }) ;
95+
return ( x , d ) => _stringify_digits( alu.str , b , digits(x, d) ) ;
96+
} ;
97+
98+
const stringify_10 = [ 'stringify_10' , '=' , [ stringify_n(10) ] , unary , alu => alu.egcd ] ;
99+
const stringify_2 = [ 'stringify_2' , '=' , [ stringify_n(2) ] , unary , alu => alu.egcd ] ;
100+
const stringify_19 = [ 'stringify_19' , '=' , [ stringify_n(19) ] , unary , alu => alu.egcd ] ;
99101

100102
const PARAMS = [
101103

@@ -189,18 +191,28 @@ const PARAMS = [
189191
[ simplify , '-170141183460469231731687303715884105729' , '3' , '-56713727820156410577229101238628035243/1' ] ,
190192
[ simplify , '-3' , '170141183460469231731687303715884105729' , '-1/56713727820156410577229101238628035243' ] ,
191193

192-
[ stringify , '1' , '7' , '0.|142857' ] ,
193-
[ stringify , '-4' , '8' , '-0.5' ] ,
194-
[ stringify , '7' , '14' , '0.5' ] ,
195-
[ stringify , '0' , '43' , '0' ] ,
196-
[ stringify , '86' , '43' , '2' ] ,
197-
[ stringify , '2' , '46' , '0.|0434782608695652173913' ] ,
198-
[ stringify , '1' , '46' , '0.0|2173913043478260869565' ] ,
199-
[ stringify , '1' , '14' , '0.0|714285'] ,
200-
[ stringify , '1' , '45' , '0.0|2' ] ,
201-
[ stringify , '22' , '7' , '3.|142857' ] ,
202-
[ stringify , '355' , '113' , '3.|1415929203539823008849557522123893805309734513274336283185840707964601769911504424778761061946902654867256637168' ] ,
203-
[ stringify , '7775' , '2260' , '3.44|0265486725663716814159292035398230088495575221238938053097345132743362831858407079646017699115044247787610619469' ] ,
194+
[ stringify_10 , '1' , '7' , '0.|142857' ] ,
195+
[ stringify_10 , '-4' , '8' , '-0.5' ] ,
196+
[ stringify_10 , '7' , '14' , '0.5' ] ,
197+
[ stringify_10 , '0' , '43' , '0' ] ,
198+
[ stringify_10 , '86' , '43' , '2' ] ,
199+
[ stringify_10 , '2' , '46' , '0.|0434782608695652173913' ] ,
200+
[ stringify_10 , '1' , '46' , '0.0|2173913043478260869565' ] ,
201+
[ stringify_10 , '1' , '14' , '0.0|714285'] ,
202+
[ stringify_10 , '1' , '45' , '0.0|2' ] ,
203+
[ stringify_10 , '733' , '750' , '0.977|3' ] ,
204+
[ stringify_10 , '22' , '7' , '3.|142857' ] ,
205+
[ stringify_10 , '355' , '113' , '3.|1415929203539823008849557522123893805309734513274336283185840707964601769911504424778761061946902654867256637168' ] ,
206+
[ stringify_10 , '7775' , '2260' , '3.44|0265486725663716814159292035398230088495575221238938053097345132743362831858407079646017699115044247787610619469' ] ,
207+
208+
[ stringify_2 , '-4' , '8' , '-0.1' ] ,
209+
[ stringify_2 , '7' , '14' , '0.1' ] ,
210+
// printf -- "scale=10;obase=2;1/7\n" | bc --mathlib
211+
[ stringify_2 , '1' , '7' , '0.|001' ] ,
212+
213+
[ stringify_19 , '1' , '2' , '0.|9' ] , // HAHA
214+
215+
[ stringify_19 , '14' , '13', '1.|18ebd2ha475g'] , // HOHO
204216

205217
] ;
206218

0 commit comments

Comments
 (0)