Skip to content

Commit 6b26c0e

Browse files
🔍 test: Extract fixtures.
1 parent 1d3b908 commit 6b26c0e

File tree

2 files changed

+65
-63
lines changed

2 files changed

+65
-63
lines changed

test/src/_fixtures.js

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
import int from 'int' ;
2+
import BN from 'bn.js' ;
3+
import { ZZ } from '@aureooms/js-integer' ;
4+
5+
export const ALU = [
6+
{
7+
name : 'int',
8+
add : (a, b) => a.add(b),
9+
sub : (a, b) => a.sub(b),
10+
mul : (a, b) => a.mul(b),
11+
div : (a, b) => a.div(b),
12+
reg : x => int(x),
13+
str : x => x.toString(),
14+
jz : x => x.eq(0),
15+
lt0 : x => x.lt(0),
16+
cmp : (a,b) => a.cmp(b),
17+
neg : x => x.neg(),
18+
sgn : x => x.cmp(0),
19+
divmod : (a,b) => [a.div(b), a.mod(b)],
20+
pown : (x,n) => x.pow(n),
21+
},
22+
{
23+
name : 'bn.js',
24+
add : (a, b) => a.add(b),
25+
sub : (a, b) => a.sub(b),
26+
mul : (a, b) => a.mul(b),
27+
div : (a, b) => a.div(b),
28+
reg : x => new BN(x),
29+
str : x => x.toString(),
30+
jz : x => x.eqn(0),
31+
lt0 : x => x.ltn(0),
32+
cmp : (a,b) => a.cmp(b),
33+
sgn : x => x.cmpn(0),
34+
neg : x => x.neg(),
35+
divmod : (a,b) => {
36+
const { div , mod } = a.divmod(b) ;
37+
return [div, mod] ;
38+
} ,
39+
egcd : (a,b) => {
40+
const gcd = a.gcd(b) ;
41+
return { u: b.div(gcd), v: a.div(gcd) } ;
42+
} ,
43+
pown : (x,n) => x.pow(new BN(n)),
44+
},
45+
{
46+
name : '@aureooms/js-integer',
47+
add : (a, b) => a.add(b),
48+
sub : (a, b) => a.sub(b),
49+
mul : (a, b) => a.mul(b),
50+
div : (a, b) => a.div(b),
51+
reg : x => ZZ.from(x),
52+
str : x => x.toString(),
53+
jz : x => x.iszero(),
54+
lt0 : x => x.sign() < 0,
55+
cmp : (a,b) => a.cmp(b),
56+
sgn : x => x.sign(),
57+
neg : x => x.opposite(),
58+
divmod : (a,b) => a.divmod(b),
59+
egcd : (a,b) => a.egcd(b),
60+
pown : (x,n) => x.pown(n),
61+
}
62+
];
63+

test/src/core.js

Lines changed: 2 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
import test from 'ava';
22
import { _add , _sub , _mul , _div , _pow , _cmp , _cmp_no_bounds , _simplify } from '../../src';
33

4-
import int from 'int' ;
5-
import BN from 'bn.js' ;
6-
import { ZZ } from '@aureooms/js-integer' ;
7-
84
const GOOGOL = '10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' ;
95

6+
import { ALU } from './_fixtures' ;
7+
108
function binary ( t , alu , [ [ _x , _y , factory ] , a , b , c , d , e ] ) {
119

1210
const apply = factory( alu );
@@ -68,65 +66,6 @@ unary.title = ( _ , alu , [ [ name , impl ] , a , b , e ] ) => {
6866
return `${name}<${impl.name}, ${alu.name}> ${name}(${a}/${b}) = ${e}` ;
6967
} ;
7068

71-
const ALU = [
72-
{
73-
name : 'int',
74-
add : (a, b) => a.add(b),
75-
sub : (a, b) => a.sub(b),
76-
mul : (a, b) => a.mul(b),
77-
div : (a, b) => a.div(b),
78-
reg : x => int(x),
79-
str : x => x.toString(),
80-
jz : x => x.eq(0),
81-
lt0 : x => x.lt(0),
82-
cmp : (a,b) => a.cmp(b),
83-
neg : x => x.neg(),
84-
sgn : x => x.cmp(0),
85-
divmod : (a,b) => [a.div(b), a.mod(b)],
86-
pown : (x,n) => x.pow(n),
87-
},
88-
{
89-
name : 'bn.js',
90-
add : (a, b) => a.add(b),
91-
sub : (a, b) => a.sub(b),
92-
mul : (a, b) => a.mul(b),
93-
div : (a, b) => a.div(b),
94-
reg : x => new BN(x),
95-
str : x => x.toString(),
96-
jz : x => x.eqn(0),
97-
lt0 : x => x.ltn(0),
98-
cmp : (a,b) => a.cmp(b),
99-
sgn : x => x.cmpn(0),
100-
neg : x => x.neg(),
101-
divmod : (a,b) => {
102-
const { div , mod } = a.divmod(b) ;
103-
return [div, mod] ;
104-
} ,
105-
egcd : (a,b) => {
106-
const gcd = a.gcd(b) ;
107-
return { u: b.div(gcd), v: a.div(gcd) } ;
108-
} ,
109-
pown : (x,n) => x.pow(new BN(n)),
110-
},
111-
{
112-
name : '@aureooms/js-integer',
113-
add : (a, b) => a.add(b),
114-
sub : (a, b) => a.sub(b),
115-
mul : (a, b) => a.mul(b),
116-
div : (a, b) => a.div(b),
117-
reg : x => ZZ.from(x),
118-
str : x => x.toString(),
119-
jz : x => x.iszero(),
120-
lt0 : x => x.sign() < 0,
121-
cmp : (a,b) => a.cmp(b),
122-
sgn : x => x.sign(),
123-
neg : x => x.opposite(),
124-
divmod : (a,b) => a.divmod(b),
125-
egcd : (a,b) => a.egcd(b),
126-
pown : (x,n) => x.pown(n),
127-
}
128-
];
129-
13069
const add = [ 'add' , '+' , [ _add ] , binary ] ;
13170
const sub = [ 'sub' , '-' , [ _sub ] , binary ] ;
13271
const mul = [ 'mul' , '*' , [ _mul ] , binary ] ;

0 commit comments

Comments
 (0)