Mercurial > hg > jgplsrc
view test/gi.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. i.y ----------------------------------------------------------------- iota =: 3 : '+/&>{(}.*/\.|y,1)*&.>((0>y)*|>:y)+&.>(*y)*&.>i.&.>|y' a =: i.1+?50 1 = $$a 0 = 0{a _1 *./ . = 2-/\a ((#a)$(0{a)+_1{a) -: a+|.a p =: i.q=:_5+?10 10 10 ($p) -: |q p -: iota q 'domain error' -: i. etx 'abc' 'domain error' -: i. etx 3.4 5 'domain error' -: i. etx 3j4 5 'domain error' -: i. etx 3 4;5 NB. x i.y --------------------------------------------------------------- NB. Boolean a=:1=?10 5$2 a-:(i.~a){a (i.~a)-:i.~<"_1 a a-:(a i.0+a){a a-:(a i.[&.o.a){a a-:(a i.[&.(0j1&*)a){a 0=a i.0{a (#a)=a i.4 5 6 7 8 (#a)=a i.'abcde' (b*#a) -: (a=:(>:?20)$0) i. b=:?30$2 NB. literal a=:a.{~32+?10 5$95 a-:(i.~a){a (i.~a)-:i.~<"_1 a 0=a i.0{a (#a)=a i.4 5 6 7 8 (b*#a) -: (a=:(>:?40)$'axy') i. (b=:?30$2){'ab' (1|.a) -: (a i.1|.a){a=:a.{~?117 1$#a. (1|.a) -: (a i.1|.a){a=:a.{~?117 2$#a. (1|.a) -: (a i.1|.a){a=:a.{~?117 3$#a. (1|.a) -: (a i.1|.a){a=:a.{~?117 4$#a. (1|.a) -: (a i.1|.a){a=:a.{~?117 5$#a. (1|.a) -: (a i.1|.a){a=:a.{~?117 6$#a. (1|.a) -: (a i.1|.a){a=:a.{~?117 7$#a. (1|.a) -: (a i.1|.a){a=:a.{~?117 8$#a. (1|.a) -: (a i. 1|.a){a=:a.{~?7000 2$#a. (1|.a) -: (a i. 1|.a){a=:a.{~?7000 4$#a. (1|."2 a) -: (a i."(2) 1|."2 a){"_1 a=:a.{~?7 5000 2$#a. (1|."2 a) -: (a i."(2) 1|."2 a){"_1 a=:a.{~?7 5000 4$#a. NB. integer a=:?10 5$100 a-:(i.~a){a (i.~a)-:i.~<"_1 a a-:(a i.[&.o.a){a a-:(a i.[&.(0j1&*)a){a 0=a i.0{a (#a)=a i.4 5 6 7 8 (#a)=a i.'abcde' (b*#a) -: (a=:(>:?40)$49 9 123) i. (b=:?40$2){49 _49 (i.31) -: i.~2^i. 31 (i.31) -: i.~2^i._31 (30$0) -: i.~30$123456 (30$0) -: i.~30$_12345678 a -: (i.~a){a=:?4000$4000 NB. small integers (1000{.a) -: (a i.1000{.a){a=:?4000$4000 NB. small integers a -: (i.~a){a=: _5 2147483647 NB. large integers a -: (i.~a){a=: 2 2147483647 NB. large integers a -: (i.~a){a=: ?4000$123456 NB. large integers (1000{.a) -: (a i.1000{.a){a=:?4000$123456 NB. large integers NB. floating point a=:o._40+?10 5$100 a-:(i. ~a){a a-:(i.!.0~a){a a-:(a i. [&.(0j1&*)a){a a-:(a i.!.0 [&.(0j1&*)a){a (i. ~a)-:i. ~<"_1 a (i.!.0~a)-:i.!.0~<"_1 a 0=a i. 0{a 0=a i.!.0[0{a (#a)=a i. 4 5 6 7 8 (#a)=a i.!.0 [4 5 6 7 8 (#a)=a i. 'abcde' (#a)=a i.!.0 'abcde' (b*#a) -: (a=:(>:?40)$4.95 9 _1.62) i. (b=:?70$2){4.95 1234 (b*#a) -: (a=:(>:?40)$4.95 9 _1.62) i.!.0 (b=:?70$2){4.95 1234 NB. complex a=:r.?10 5$1000 a-:(i. ~a){a a-:(i.!.0 ~a){a (i. ~a)-:i. ~<"_1 a (i.!.0~a)-:i.!.0~<"_1 a 0=a i. 0{a 0=a i.!.0[0{a (#a)=a i. 4 5 6 7 8 (#a)=a i.!.0[4 5 6 7 8 (#a)=a i. 'abcde' (#a)=a i.!.0 'abcde' (b*#a) -: (a=:(>:?40)$4j95 9 _1.62) i. (b=:?30$2){4j95 1234 (b*#a) -: (a=:(>:?40)$4j95 9 _1.62) i.!.0 (b=:?30$2){4j95 1234 NB. boxed t=:(1=?70$3)<;.1 ?70$100 a=:t{~?10 5$#t a-:(i. ~a){a a-:(i.!.0~a){a (i. ~a)-:i. ~<"_1 a (i.!.0~a)-:i.!.0~<"_1 a 0=a i. 0{a 0=a i.!.0[0{a (#a)=a i. 'Cogit' (#a)=a i.!.0 'Cogit' (#a)=a i. 4 5 6 7 8 (#a)=a i.!.0[4 5 6 7 8 (b*#a) -: (a=:(>:?40)$(<4;'aj95'),<'lieben') i. (b=:?50$2){(<4;'aj95'),<1234 ((i. ~x){x) -: x=:;:'i.~(?20$3){3 4;([&.o.3 4);[&.(0j1&*)3 4' ((i.!.0~x){x) -: x=:;:'i.~(?20$3){3 4;([&.o.3 4);[&.(0j1&*)3 4' (20$0) -: i. ~(?20$3){'';($0);(0$<'') (20$0) -: i.!.0~(?20$3){'';($0);(0$<'') (20$0) -: i. ~(?20$3){3 4;([&.o.3 4);[&.(0j1&*)3 4 (20$0) -: i.!.0~(?20$3){3 4;([&.o.3 4);[&.(0j1&*)3 4 NB. x i.y encore -------------------------------------------------------- a =: 1=?100 4$2 j =: i.~a j -: a i.0+a j -: (0+a)i.a a -: j{a (#a) -: a i.'abcd' (2$#a) -: a i.2 4$2 0 -: (i.6 2 3)i.i.2 3 6 -: (i.6 2 3)i.2 3$9 ($0) -: (6 2 3$9)i.0 2 3$5 (5 0 4$0) -: (6 2 3$9)i.5 0 4 2 3$5 0 -: (6 2 0$9)i.2 0$0 (3$0) -: (6 2 0$9)i.3 2 0$0 (3$0) -: (6 2 0$0.5)i.3 2 0$'a' (3$0) -: (6 2 0$0.5)i.3 2 0$<'' (($b)$0) -: ''i.b=:'abc' (($b)$0) -: ($0)i.b=:i.3 4 (($b)$0) -: (0$<'')i.b=:+&.>i.3 4 0 0 -: (i.0 3 4)i.b=:i.2 3 4 3 3 3 3 3 -: (i.3 4 ) i. 5 4$'a' 3 3 3 3 3 -: (3 4$<'a') i. 5 4$'a' test=: 3 : 0 n=: ?y xx=: ?n$10>.<.n%3 yy=: xx+2.5-2.5 ((~.xx)-:~.yy),((~:xx)-:~:yy),((xx i. xx) -: yy i. yy) ) test 1000 test 1000 test 1000 *./@test"0 [4 5$1000 2 2 2 -: (i.2 3) i. etx i.3 4 2 2 2 -: (i.2 3) i. etx 3 4$'a' 2 2 2 -: (i.2 3) i. etx 3 4$;:'Cogito, erogeneous' 3 3 -: (2 3 4$'x') i."2 etx 'kakistocracy' 2 -: (i.2 3) i. etx 4 3 3 -: (2 3 4 6$'x') i."3 etx 'lieben' NB. x i.y for strings x and y ------------------------------------------- map =: 3 : '(i.-#y) (a.i.|.y)}256$#y' ciof =: a.&i.@] { map@[ f =: i. -: ciof ((?3000$256){a.) f (?4 80$256){a. ((?3000$256){a.) f (? 300$256){a. NB. x i.y on boxed numerics --------------------------------------------- 0 0 -: i. ~<"0 [ 1,1-2^_45 0 0 -: i. ~<"0 |.1,1-2^_45 0 1 -: i.!.0~<"0 [ 1,1-2^_45 0 1 -: i.!.0~<"0 |.1,1-2^_45 (i.~t) -: (2*#x)$i.~x [ t=:(<"0 x), <"0 x=:?180$90 (i.~t) -: (2*#x)$i.~x [ t=:(<"0 x), <"0 (o.1)%~o.x=:?180$90 (i.~t) -: (2*#x)$i.~x [ t=:(<"0 x),~<"0 (o.1)%~o.x=:?180$90 (2$<i.~x) -: (y i.<"0 x); (<"0 x)i.y=:<"0 }.0, x=:?40$2 (2$<i.~x) -: (y i.<"0 x); (<"0 x)i.y=:<"0 }.345,x=:?40$2 (2$<i.~x) -: (y i.<"0 x); (<"0 x)i.y=:<"0 }.3.5,x=:?40$2 (2$<i.~x) -: (y i.<"0 x); (<"0 x)i.y=:<"0 }.3j5,x=:?40$2 (2$<i.~x) -: (y i.<"0 x); (<"0 x)i.y=:<"0 }.0, x=:?40$2e9 (2$<i.~x) -: (y i.<"0 x); (<"0 x)i.y=:<"0 }.345,x=:?40$2e9 (2$<i.~x) -: (y i.<"0 x); (<"0 x)i.y=:<"0 }.3.5,x=:?40$2e9 (2$<i.~x) -: (y i.<"0 x); (<"0 x)i.y=:<"0 }.3j5,x=:?40$2e9 (2$<i.~x) -: (y i.<"0 x); (<"0 x)i.y=:<"0 }.0, x=:o.?40$2e7 (2$<i.~x) -: (y i.<"0 x); (<"0 x)i.y=:<"0 }.345,x=:o.?40$2e7 (2$<i.~x) -: (y i.<"0 x); (<"0 x)i.y=:<"0 }.3.5,x=:o.?40$2e7 (2$<i.~x) -: (y i.<"0 x); (<"0 x)i.y=:<"0 }.3j5,x=:o.?40$2e7 (2$<i.~x) -: (y i.<"0 x); (<"0 x)i.y=:<"0 }.0, x=:j./?2 40$2e7 (2$<i.~x) -: (y i.<"0 x); (<"0 x)i.y=:<"0 }.345,x=:j./?2 40$2e7 (2$<i.~x) -: (y i.<"0 x); (<"0 x)i.y=:<"0 }.3.5,x=:j./?2 40$2e7 (2$<i.~x) -: (y i.<"0 x); (<"0 x)i.y=:<"0 }.3j5,x=:j./?2 40$2e7 NB. x i."r y ------------------------------------------------------------ g =: 4 : 'x i. y' (i.3 0) (g"1 -: i."1) i.3 2 (i.3 0) (g"1 -: i."1) i.3 0 (i.0 0) (g"1 -: i."1) i.0 7 (i.0 7) (g"1 -: i."1) i.0 3 (i.3) (g"1 -: i."1) i.0 7 (i.3) (g"1 -: i."1) i.0 0 '' (g"1 -: i."1) i.0 7 '' (g"1 -: i."1) i.0 5 '' (g"1 -: i."1) i.0 0 (i.3 5) (g"1 -: i."1) 3 7$'a' (i.3 5) (g"1 -: i."1) 3 7$<5 'abc' (g"1 -: i."1) 7 5$3 'abc' (g"1 -: i."1) 7 5$<3 (i.6) -: x i."1 0 (<0 1)|:x=:a.{~6 16$32+96?96 (15-i.6) -: x i."1 0 (<0 1)|:|."1 x (6$0) -: x i."1 0 {."1 x (6$15) -: x i."1 0 {:"1 x (($x)$i.16) -: x i."1 x (x=:0=5|?20 19$2) (g"1 -: i."1) 1 x=:a.{~?(117 7,c)$#a. [ c=:3 x (g"2 -: i."2 ) y=:a.{~?(14, c)$#a. x (g"2 -: i."2 ) x x (g"2 -: i."2 ) y=:a.{~?(117 3,c)$#a. x (g"_1 -: i."_1) y=:a.{~?(117, c)$#a. x=:a.{~?(117 7,c)$#a. [ c=:4 x (g"2 -: i."2 ) y=:a.{~?(14, c)$#a. x (g"2 -: i."2 ) x x (g"2 -: i."2 ) y=:a.{~?(117 3,c)$#a. x (g"_1 -: i."_1) y=:a.{~?(117, c)$#a. x=:a.{~?(117 7,c)$#a. [ c=:11 x (g"2 -: i."2 ) y=:a.{~?(14, c)$#a. x (g"2 -: i."2 ) x x (g"2 -: i."2 ) y=:a.{~?(117 3,c)$#a. x (g"_1 -: i."_1) y=:a.{~?(117, c)$#a. x=:p+?117 7$q [ p=:0 [ q=:14 x (g"1 -: i."1 ) y=:p+?q x (g"1 -: i."1 ) x x (g"1 -: i."1 ) y=:p+?117 3$q x (g"1 -: i."1 ) y=:p+?12$q x (g"_1 -: i."_1) y=:p+?117$q x=:p+?117 7$q [ p=:_7 [ q=:14 x (g"1 -: i."1 ) y=:p+?q x (g"1 -: i."1 ) x x (g"1 -: i."1 ) y=:p+?117 3$q x (g"1 -: i."1 ) y=:p+?12$q x (g"_1 -: i."_1) y=:p+?117$q x=:p+?117 7$q [ p=:_2000 [ q=:14 x (g"1 -: i."1 ) y=:p+?q x (g"1 -: i."1 ) x x (g"1 -: i."1 ) y=:p+?117 3$q x (g"1 -: i."1 ) y=:p+?12$q x (g"_1 -: i."_1) y=:p+?117$q x=:p+?117 7$q [ p=:0 [ q=:1e4 x (g"1 -: i."1 ) y=:p+?q x (g"1 -: i."1 ) x x (g"1 -: i."1 ) y=:p+?117 3$q x (g"1 -: i."1 ) y=:p+?12$q x (g"_1 -: i."_1) y=:p+?117$q x=:p+?117 7$q [ p=:_5e5 [ q=:1e6 x (g"1 -: i."1 ) y=:p+?q x (g"1 -: i."1 ) x x (g"1 -: i."1 ) y=:p+?117 3$q x (g"1 -: i."1 ) y=:p+?12$q x (g"_1 -: i."_1) y=:p+?117$q x=:?7 63 3$q=:4 x (g"2 -: i."2 ) y=:((?10$63){0{x),?14 3$q x (g"2 -: i."2 ) x x (g"2 -: i."2 ) y=:(?~1{$y){"2 y=:x,"2?7 5 3$q x (g"_1 -: i."_1) y=:((?5$63){1{x),?2 3$q x=:o.?7 13 3$q=:3 x (g"2 -: i."2 ) y=:((?10$13){0{x),o.?14 3$q x (g"2 -: i."2 ) x x (g"2 -: i."2 ) y=:(?~1{$y){"2 y=:x,"2 o.?7 5 3$q x (g"_1 -: i."_1) y=:((?5$13){1{x),o.?2 3$q x=:r.?7 13 3$q=:3 x (g"2 -: i."2 ) y=:((?10$13){0{x),r.?14 3$q x (g"2 -: i."2 ) x x (g"2 -: i."2 ) y=:(?~1{$y){"2 y=:x,"2 r.?7 5 3$q x (g"_1 -: i."_1) y=:((?5$13){1{x),r.?2 3$q x=:<"0 ?7 63 3$q=:3 x (g"2 -: i."2 ) y=:((?10$63){0{x),<"0?14 3$q x (g"2 -: i."2 ) x x (g"2 -: i."2 ) y=:(?~1{$y){"2 y=:x,"2<"0?7 5 3$q x (g"_1 -: i."_1) y=:((?5$63){1{x),<"0?2 3$q x (g"1 2 -: i."1 2) x=:1 2,:3 4 NB. x i.!.0 "r y -------------------------------------------------------- g =: 4 : 'x i.!.0 y' (i.3 0) (g"1 -: i.!.0"1) i.3 2 (i.3 0) (g"1 -: i.!.0"1) i.3 0 (i.0 0) (g"1 -: i.!.0"1) i.0 7 (i.0 7) (g"1 -: i.!.0"1) i.0 3 (i.3) (g"1 -: i.!.0"1) i.0 7 (i.3) (g"1 -: i.!.0"1) i.0 0 '' (g"1 -: i.!.0"1) i.0 7 '' (g"1 -: i.!.0"1) i.0 5 '' (g"1 -: i.!.0"1) i.0 0 (i.3 5) (g"1 -: i.!.0"1) 3 7$'a' (i.3 5) (g"1 -: i.!.0"1) 3 7$<5 'abc' (g"1 -: i.!.0"1) 7 5$3 'abc' (g"1 -: i.!.0"1) 7 5$<3 (i.6) -: x i.!.0"1 0 (<0 1)|:x=:a.{~6 16$32+96?96 (15-i.6) -: x i.!.0"1 0 (<0 1)|:|."1 x (6$0) -: x i.!.0"1 0 {."1 x (6$15) -: x i.!.0"1 0 {:"1 x (($x)$i.16) -: x i.!.0"1 x (x=:0=5|?20 19$2) (g"1 -: i.!.0"1) 1 x=:a.{~?(117 7,c)$#a. [ c=:3 x (g"2 -: i.!.0"2 ) y=:a.{~?(14, c)$#a. x (g"2 -: i.!.0"2 ) x x (g"2 -: i.!.0"2 ) y=:a.{~?(117 3,c)$#a. x (g"_1 -: i.!.0"_1) y=:a.{~?(117, c)$#a. x=:a.{~?(117 7,c)$#a. [ c=:4 x (g"2 -: i.!.0"2 ) y=:a.{~?(14, c)$#a. x (g"2 -: i.!.0"2 ) x x (g"2 -: i.!.0"2 ) y=:a.{~?(117 3,c)$#a. x (g"_1 -: i.!.0"_1) y=:a.{~?(117, c)$#a. x=:a.{~?(117 7,c)$#a. [ c=:11 x (g"2 -: i.!.0"2 ) y=:a.{~?(14, c)$#a. x (g"2 -: i.!.0"2 ) x x (g"2 -: i.!.0"2 ) y=:a.{~?(117 3,c)$#a. x (g"_1 -: i.!.0"_1) y=:a.{~?(117, c)$#a. x=:p+?117 7$q [ p=:0 [ q=:14 x (g"1 -: i.!.0"1 ) y=:p+?q x (g"1 -: i.!.0"1 ) x x (g"1 -: i.!.0"1 ) y=:p+?117 3$q x (g"1 -: i.!.0"1 ) y=:p+?12$q x (g"_1 -: i.!.0"_1) y=:p+?117$q x=:p+?117 7$q [ p=:_7 [ q=:14 x (g"1 -: i.!.0"1 ) y=:p+?q x (g"1 -: i.!.0"1 ) x x (g"1 -: i.!.0"1 ) y=:p+?117 3$q x (g"1 -: i.!.0"1 ) y=:p+?12$q x (g"_1 -: i.!.0"_1) y=:p+?117$q x=:p+?117 7$q [ p=:_2000 [ q=:14 x (g"1 -: i.!.0"1 ) y=:p+?q x (g"1 -: i.!.0"1 ) x x (g"1 -: i.!.0"1 ) y=:p+?117 3$q x (g"1 -: i.!.0"1 ) y=:p+?12$q x (g"_1 -: i.!.0"_1) y=:p+?117$q x=:p+?117 7$q [ p=:0 [ q=:1e4 x (g"1 -: i.!.0"1 ) y=:p+?q x (g"1 -: i.!.0"1 ) x x (g"1 -: i.!.0"1 ) y=:p+?117 3$q x (g"1 -: i.!.0"1 ) y=:p+?12$q x (g"_1 -: i.!.0"_1) y=:p+?117$q x=:p+?117 7$q [ p=:_5e5 [ q=:1e6 x (g"1 -: i.!.0"1 ) y=:p+?q x (g"1 -: i.!.0"1 ) x x (g"1 -: i.!.0"1 ) y=:p+?117 3$q x (g"1 -: i.!.0"1 ) y=:p+?12$q x (g"_1 -: i.!.0"_1) y=:p+?117$q x=:?7 63 3$q=:4 x (g"2 -: i.!.0"2 ) y=:((?10$63){0{x),?14 3$q x (g"2 -: i.!.0"2 ) x x (g"2 -: i.!.0"2 ) y=:(?~1{$y){"2 y=:x,"2?7 5 3$q x (g"_1 -: i.!.0"_1) y=:((?5$63){1{x),?2 3$q x=:o.?7 13 3$q=:3 x (g"2 -: i.!.0"2 ) y=:((?10$13){0{x),o.?14 3$q x (g"2 -: i.!.0"2 ) x x (g"2 -: i.!.0"2 ) y=:(?~1{$y){"2 y=:x,"2 o.?7 5 3$q x (g"_1 -: i.!.0"_1) y=:((?5$13){1{x),o.?2 3$q x=:r.?7 13 3$q=:3 x (g"2 -: i.!.0"2 ) y=:((?10$13){0{x),r.?14 3$q x (g"2 -: i.!.0"2 ) x x (g"2 -: i.!.0"2 ) y=:(?~1{$y){"2 y=:x,"2 r.?7 5 3$q x (g"_1 -: i.!.0"_1) y=:((?5$13){1{x),r.?2 3$q x=:<"0 ?7 63 3$q=:3 x (g"2 -: i.!.0"2 ) y=:((?10$63){0{x),<"0?14 3$q x (g"2 -: i.!.0"2 ) x x (g"2 -: i.!.0"2 ) y=:(?~1{$y){"2 y=:x,"2<"0?7 5 3$q x (g"_1 -: i.!.0"_1) y=:((?5$63){1{x),<"0?2 3$q x (g"1 2 -: i.!.0"1 2) x=:1 2,:3 4 NB. x i. y on floating point -------------------------------------------- 0 0 0 0 -: i.~ 1+2^-45 46 47 48 f=: 4 : 0 ct=. x y -: (i.!.ct~ y){y ) (2^-34+-:i.3 10) f"0 1 x=: 0.001 * _1e5 + ?777$2e5 f1=: 3 : 0 t -: (i.~ t){t=. y+i.1000 ) f1"0] 10^i.2 10 f2=: 3 : 0 t -: (i.~ t){t=. y+?~1000 ) f2"0] 10^i.2 10 t=: 9!:18 '' f=: 1: i."1~ =/~ (i. -: f)~ x=: 1+ t*i.50 (i. -: f)~ x=: 1+0.4*t*i.50 (i. -: f)~ x=: 1+0.5*t*i.50 (i. -: f)~ x=: 1+ t*?~50 (i. -: f)~ x=: 1+0.4*t*?~50 (i. -: f)~ x=: 1+0.5*t*?~50 x (i. -: f) y [ x=: 1+ t*i.50 [ y=: 1+ t*?~60 x (i. -: f)~y x (i. -: f) y [ x=: 1+0.4*t*i.50 [ y=: 1+0.4*t*?~60 x (i. -: f)~y x (i. -: f) y [ x=: 1+0.5*t*i.50 [ y=: 1+0.5*t*?~60 x (i. -: f)~y 4!:55 ;:'a b c ciof ct f f1 f2 g iota j map n p q t test x xx y yy'