Mercurial > hg > jgplsrc
view test/g100.ijs @ 0:e0bbaa717f41 draft default tip
lol J
author | Jordi Gutiérrez Hermoso <jordigh@octave.org> |
---|---|
date | Mon, 25 Nov 2013 11:56:30 -0500 |
parents | |
children |
line wrap: on
line source
NB. +y ------------------------------------------------------------------ t -: +t=.1=?100$2 t -: +t=. _1e9+?100$2e9 t -: +t=.o.1e_9+?100$2e9 f =. |@*~ % ] test =. f -: + test j./_1e9+?2 100$2e9 test r./_1e7+?2 100$2e7 test 0 3j4 3j_4 -: +3j4 'domain error' -: + etx 'abc' 'domain error' -: + etx <'abc' 'domain error' -: + etx <3 4 5 NB. x+y ----------------------------------------------------------------- 4 = type 1234+5678 4 = type _1234+_5678 4 = type 2e9 4 = type _2e9 4 = type 2147483647 (IF64{8 4) = type 2e9 +3e8 (IF64{8 4) = type 2e15+3e15 (IF64{8 4) = type _2e9 +_3e8 (IF64{8 4) = type _2e15+_3e15 (IF64{8 4) = type 2147483647+1 x=: - y=: 1+i.100 (x + <._1+2^IF64{31 63x) -: x + <._1+2^IF64{31 63 (y + <. -2^IF64{31 63x) -: y + <. -2^IF64{31 63 ( 2e8*>:i.20) -: +/\20$ 2e8 (_2e8*>:i.20) -: +/\20$_2e8 4 -: 2 + 2 3 -: 7 + _4 2147483648 -: 1+ 2147483647 _2147483649 -: _1+_2147483648 t -: 3+t=.i.?27$2 t -: (t=.i.?27$2)+4 t -: (i.3 4)+t=.i.3 4,?27$2 t -: (t=.i.3 4,?27$2)+i.3 4 NB. complex numbers ----------------------------------------------------- 16 -: type 3j4 5j6 (2 3$1 0) -: =3j4 5j6 3j4 1 0 1 -: 3j4 = 3j4 3j_4 3j4 a=.3j4 3j4 -: a b=:3j4 3j4 -: b (3j4;5j6;7j8) -: (<3j4),(<5j6),<7j8 0 0j1 1 1 -: <. 0.2j0.2 0.2j0.8 0.8j0.2 0.8j0.8 2j4 -: <:3j4 3j4 -: ><3j4 (<.&.-t) -: >.t=.0.2j0.2 0.2j0.8 0.8j0.2 0.8j0.8 4j4 -: >:3j4 3j_4 -: +3j4 8j10 -: 3j4+5j6 3 4 -: +.3j4 1j1 -: 5j11 +. 3j7 'domain error' -: 'abc' + etx 4 'domain error' -: 'abc' +~etx 4 'domain error' -: 4 + etx <'abc' 'domain error' -: 4 +~etx <'abc' 'domain error' -: 'j' + etx <'abc' 'domain error' -: 'j' +~etx <'abc' 'length error' -: 3 4 + etx 5 6 7 'length error' -: 3 4 +~etx 5 6 7 'length error' -: 3 4 + etx i.5 6 'length error' -: 3 4 +~etx i.5 6 'length error' -: 3 4 5 + etx i.4 3 'length error' -: 3 4 5 +~etx i.4 3 NB. x+y integer overflow handling --------------------------------------- test =. + 0&=@:- +&((o.0)&+) testa =. (+/ 0&=@:- +/ @((o.0)&+))@,"0 testb =. (+/\ 0&=@:- +/\ @((o.0)&+))@,"0 testc =. (+/\. 0&=@:- +/\.@((o.0)&+))@,"0 x =: <._1+2^IF64{31 62 y =: <. -2^IF64{31 62 4 = type&> _1 0 +&.> x 4 = type&> _1 0 +&.>~x 4 = type&> 1 0 +&.> y 4 = type&> 1 0 +&.>~y 4 = type&> _1 0 +/@,&.> x 4 = type&> _1 0 +/@,&.>~x 4 = type&> 1 0 +/@,&.> y 4 = type&> 1 0 +/@,&.>~y 4 = type&> _1 0 +/\@,&.> x 4 = type&> _1 0 +/\@,&.>~x 4 = type&> 1 0 +/\@,&.> y 4 = type&> 1 0 +/\@,&.>~y 4 = type&> _1 0 +/\.@,&.> x 4 = type&> _1 0 +/\.@,&.>~x 4 = type&> 1 0 +/\.@,&.> y 4 = type&> 1 0 +/\.@,&.>~y ,(2e9 2e9 _2e9 _2e9) test &>/ 1e9 _1e9 1e9 _1e9 ,(2e9 2e9 _2e9 _2e9) test &>/~1e9 _1e9 1e9 _1e9 ,(2e9 2e9 _2e9 _2e9) testa&>/ 1e9 _1e9 1e9 _1e9 ,(2e9 2e9 _2e9 _2e9) testa&>/~1e9 _1e9 1e9 _1e9 ,(2e9 2e9 _2e9 _2e9) testb&>/ 1e9 _1e9 1e9 _1e9 ,(2e9 2e9 _2e9 _2e9) testb&>/~1e9 _1e9 1e9 _1e9 ,(2e9 2e9 _2e9 _2e9) testc&>/ 1e9 _1e9 1e9 _1e9 ,(2e9 2e9 _2e9 _2e9) testc&>/~1e9 _1e9 1e9 _1e9 ,_2 _1 0 1 2 test &>/ x,y ,_2 _1 0 1 2 test &>/~x,y ,_2 _1 0 1 2 testa&>/ x,y ,_2 _1 0 1 2 testa&>/~x,y ,_2 _1 0 1 2 testb&>/ x,y ,_2 _1 0 1 2 testb&>/ x,y ,_2 _1 0 1 2 testc&>/~x,y ,_2 _1 0 1 2 testc&>/~x,y 4!:55 ;:'a b f t test testa testb testc x y'