Skip to content

Commit 6535fa6

Browse files
✨ feat(ZZ): Add -1 constant.
1 parent 985d79c commit 6535fa6

File tree

4 files changed

+44
-1
lines changed

4 files changed

+44
-1
lines changed

src/IntegerRing.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,4 +94,8 @@ export class IntegerRing {
9494
return new Integer( this.base , 0 , [ 1 ] ) ;
9595
}
9696

97+
$_1 ( ) {
98+
return new Integer( this.base , -1 , [ 1 ] ) ;
99+
}
100+
97101
}

src/integer.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ export function $1 ( ) {
88
return ZZ.$1() ;
99
}
1010

11+
export function $_1 ( ) {
12+
return ZZ.$_1() ;
13+
}
14+
1115
export function parse ( object , base = undefined , is_negative = 0 ) {
1216
return ZZ.from( object , base , is_negative ) ;
1317
}

test/src/ZZ/$_1.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import test from 'ava' ;
2+
3+
import { ZZ } from '../../../src' ;
4+
5+
test( '$_1' , t => { t.is( ZZ.$_1().toString(), '-1' ) ; } ) ;
6+
test( '$_1.sign()' , t => { t.is( ZZ.$_1().sign(), -1 ) ; } ) ;
7+
8+
test( '$_1.lt(-2)' , t => { t.false( ZZ.$_1().lt( ZZ.from(-2) ) ) ; } ) ;
9+
test( '$_1.le(-2)' , t => { t.false( ZZ.$_1().le( ZZ.from(-2) ) ) ; } ) ;
10+
test( '$_1.eq(-2)' , t => { t.false( ZZ.$_1().eq( ZZ.from(-2) ) ) ; } ) ;
11+
test( '$_1.ge(-2)' , t => { t.true ( ZZ.$_1().ge( ZZ.from(-2) ) ) ; } ) ;
12+
test( '$_1.gt(-2)' , t => { t.true ( ZZ.$_1().gt( ZZ.from(-2) ) ) ; } ) ;
13+
test( '$_1.ne(-2)' , t => { t.true ( ZZ.$_1().ne( ZZ.from(-2) ) ) ; } ) ;
14+
15+
test( '$_1.lt(-1)' , t => { t.false( ZZ.$_1().lt( ZZ.from(-1) ) ) ; } ) ;
16+
test( '$_1.le(-1)' , t => { t.true ( ZZ.$_1().le( ZZ.from(-1) ) ) ; } ) ;
17+
test( '$_1.eq(-1)' , t => { t.true ( ZZ.$_1().eq( ZZ.from(-1) ) ) ; } ) ;
18+
test( '$_1.ge(-1)' , t => { t.true ( ZZ.$_1().ge( ZZ.from(-1) ) ) ; } ) ;
19+
test( '$_1.gt(-1)' , t => { t.false( ZZ.$_1().gt( ZZ.from(-1) ) ) ; } ) ;
20+
test( '$_1.ne(-1)' , t => { t.false( ZZ.$_1().ne( ZZ.from(-1) ) ) ; } ) ;
21+
22+
test( '$_1.lt(0)' , t => { t.true ( ZZ.$_1().lt( ZZ.from(0) ) ) ; } ) ;
23+
test( '$_1.le(0)' , t => { t.true ( ZZ.$_1().le( ZZ.from(0) ) ) ; } ) ;
24+
test( '$_1.eq(0)' , t => { t.false( ZZ.$_1().eq( ZZ.from(0) ) ) ; } ) ;
25+
test( '$_1.ge(0)' , t => { t.false( ZZ.$_1().ge( ZZ.from(0) ) ) ; } ) ;
26+
test( '$_1.gt(0)' , t => { t.false( ZZ.$_1().gt( ZZ.from(0) ) ) ; } ) ;
27+
test( '$_1.ne(0)' , t => { t.true ( ZZ.$_1().ne( ZZ.from(0) ) ) ; } ) ;
28+
29+
test( '$_1.lt(1)' , t => { t.true ( ZZ.$_1().lt( ZZ.from(1) ) ) ; } ) ;
30+
test( '$_1.le(1)' , t => { t.true ( ZZ.$_1().le( ZZ.from(1) ) ) ; } ) ;
31+
test( '$_1.eq(1)' , t => { t.false( ZZ.$_1().eq( ZZ.from(1) ) ) ; } ) ;
32+
test( '$_1.ge(1)' , t => { t.false( ZZ.$_1().ge( ZZ.from(1) ) ) ; } ) ;
33+
test( '$_1.gt(1)' , t => { t.false( ZZ.$_1().gt( ZZ.from(1) ) ) ; } ) ;
34+
test( '$_1.ne(1)' , t => { t.true ( ZZ.$_1().ne( ZZ.from(1) ) ) ; } ) ;

test/src/integer/constants.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import test from 'ava' ;
22

3-
import { ZZ , $0 , $1 } from '../../../src' ;
3+
import { ZZ , $0 , $1 , $_1 } from '../../../src' ;
44

55
test( '$0 == ZZ.$0' , t => { t.true($0().eq(ZZ.$0())) ; } ) ;
66
test( '$1 == ZZ.$1' , t => { t.true($1().eq(ZZ.$1())) ; } ) ;
7+
test( '$_1 == ZZ.$_1' , t => { t.true($_1().eq(ZZ.$_1())) ; } ) ;

0 commit comments

Comments
 (0)