Mercurial > hg > jgplsrc
view test/g200.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 ------------------------------------------------------------------ x =: 0.001 * _900+?4 5$2000 y =: 0.001 * _900+?4 5$2000 a =: x j. (*y)*(o.1)|y a =: a,0,*/\4$0j1 exp=: (%!i._50) & (+/ .*) @ ((i._50)&(^~/)) 5e_13 > | (^a)%~(^a)-exp a a =!.5e_13 ^.^a a =!.5e_13 ^^.a 1 -: ^ 0 2.71828182845904523536 -: ^ 1 7.38905609893065022723 -: ^ 2 148.4131591025766 -: ^ 5 rou =: [:^ 0j2p1&% * i. NB. roots of unity ([: */ 1: = rou ^ ])"0 i.4 5 0 < ^ _744.440 NB. _1074*^.2 0 = ^ _744.441 _ > ^ 709.782 NB. 1024*^.2 _ = ^ 709.783 0 = ^ __ 0 = ^ __j5 __j_5 'domain error' -: ^ etx 'abc' 'domain error' -: ^ etx <'abc' 0 = ^_744.441j2e9 0 = ^_744.441j_2e9 'limit error' -: ^ etx _744.440j2e9 'limit error' -: ^ etx _744.440j_2e9 (j./ ^710+^. 2 1 o.0.01) = ^ 710j0.01 (j./ ^710+^. 2 1 o.1.57) = ^ 710j1.57 (j./_1 1 * ^710+^.|2 1 o.1.58) = ^ 710j1.58 (j./_1 _1 * ^710+^.|2 1 o.4.71) = ^ 710j4.71 (j./ 1 _1 * ^710+^. 2 1 o.1.57) = ^ 710j_1.57 (j./ 1 _1 * ^710+^. 2 1 o.0.01) = ^ 710j_0.01 NB. x^y ----------------------------------------------------------------- pow =: ^.@[ ^@* ] (x=:x+0=x=:_50+?4$100) (^-:pow) y=: _50+?4 10$100 (x=:x+0=x=:_50+?4 10 2$100) (^-:pow) y=: 0.02*_50+?4 10$100 (x=:x+0=x=:o._50+?4 10$100) (^-:pow) y=:o. 0.01*_50+?4 10$100 (x=:x+0=x=:r./_50+?2 4$100) (^-:pow) y=:j./0.01*_50+?2 4 10$100 (a^ i.30) -: */\1,29$ a=: 2 (a^-i.30) -: */\1,29$%a=: 2 (a^ i.30) -: */\1,29$ a=:_2 (a^-i.30) -: */\1,29$%a=:_2 (a^ i.30) -: */\1,29$ a=: 2.45 (a^-i.30) -: */\1,29$%a=: 2.45 (a^ i.30) -: */\1,29$ a=:_2.45 (a^-i.30) -: */\1,29$%a=:_2.45 (a^ i.30) -: */\1,29$ a=: 2j1.6 (a^-i.30) -: */\1,29$%a=: 2j1.6 (a^ i.30) -: */\1,29$ a=: 2j_1.6 (a^-i.30) -: */\1,29$%a=: 2j_1.6 (a^ i.30) -: */\1,29$ a=:_2j1.6 (a^-i.30) -: */\1,29$%a=:_2j1.6 (a^ i.30) -: */\1,29$ a=:_2j_1.6 (a^-i.30) -: */\1,29$%a=:_2j_1.6 a -: a^1 [ a=: ?20$2e9 a -: a^1 [ a=:-?20$2e9 a -: a^1 [ a=:o._1e9+?20$2e9 a -: a^1 [ a=:j./_1e9+?2 20$2e9 (20$1) -: a^0 [ a=: ?20$2e9 (20$1) -: a^0 [ a=:-?20$2e9 (20$1) -: a^0 [ a=:o._1e9+?20$2e9 (20$1) -: a^0 [ a=:r./_1e7+?2 20$2e7 1 0 1 1 -: 0 0 1 1 ^ 0 1 0 1 1 -: 0^0 (9$1) -: (-:_5+i.9)^0 _ _ _ _ 1 0 0 0 0 -: 0 ^ _4+i.9 _ _ _ _ 1 0 0 0 0 -: ({.0 4 )^ _4+i.9 _ _ _ _ 1 0 0 0 0 -: ({.0 4.5)^ _4+i.9 _ _ _ _ 1 0 0 0 0 -: ({.0 4j5)^ _4+i.9 _ _ _ _ 1 0 0 0 0 -: 0 ^ -:_4+i.9 _ _ _ _ 1 0 0 0 0 -: ({.0 4 )^ -:_4+i.9 _ _ _ _ 1 0 0 0 0 -: ({.0 4.5)^ -:_4+i.9 _ _ _ _ 1 0 0 0 0 -: ({.0 4j5)^ -:_4+i.9 _ _ _ _ 1 0 0 0 0 -: 0 ^ }. 0j1, -:_4+i.9 _ _ _ _ 1 0 0 0 0 -: ({.0 4 )^ }. 0j1, -:_4+i.9 _ _ _ _ 1 0 0 0 0 -: ({.0 4.5)^ }. 0j1, -:_4+i.9 _ _ _ _ 1 0 0 0 0 -: ({.0 4j5)^ }. 0j1, -:_4+i.9 a=:1.41421356237309504880 a -: 2 ^ 0.5 (%a) -: 2 ^_0.5 (%a) -: 0.5 ^ 0.5 a -: 0.5 ^_0.5 (0, a) -: +. _2 ^ 0.5 (0,%-a) -: +. _2 ^_0.5 (0,% a) -: +. _0.5 ^ 0.5 (0, -a) -: +. _0.5 ^_0.5 1.25992104989487316476 -: 2^%3 x=: j./_50+2 30 ?@$ 100 n=: 30 ?@$ 50 x (^ -: pow) n x (^ -: pow) -n 'domain error' -: 3 ^ etx 'abc' 'domain error' -: 3 ^~etx 'abc' 'domain error' -: 2 ^ etx 2;4 5 'domain error' -: 2 ^~etx 2;4 5 'length error' -: 2 3 ^ etx 4 5 6 'length error' -: 2 3 ^~etx 4 5 6 'length error' -: 2 3 ^ etx i.4 5 'length error' -: 2 3 ^~etx i.4 5 NB. x^0 ----------------------------------------------------------------- e.&'1 ' ": x ^ 0 [ x=: ?200$2 e.&'1 ' ": x ^ 0 [ x=: _5e6+?200$1e7 e.&'1 ' ": x ^ 0 [ x=: 0.001*_5e6+?200$1e7 e.&'1 ' ": x ^ 0 [ x=: j./0.001*_5e6+?2 200$1e7 NB. 0^y ----------------------------------------------------------------- e.&'0 ' ": 0 ^ 10$1 e.&'0 ' ": 0 ^ 1+?10$1e6 e.&'0 ' ": 0 ^ 0.1*1+?10$2e9 e.&'0 ' ": 0 ^ j./ 1+?2 10$2e3 e.&'0 ' ": (2-2) ^ 10$1 e.&'0 ' ": (2-2) ^ 1+?10$1e6 e.&'0 ' ": (2-2) ^ 0.1*1+?10$2e9 e.&'0 ' ": (2-2) ^ j./ 1+?2 10$2e3 e.&'0 ' ": (o.0) ^ 10$1 e.&'0 ' ": (o.0) ^ 1+?10$1e6 e.&'0 ' ": (o.0) ^ 0.1*1+?10$2e9 e.&'0 ' ": (o.0) ^ j./ 1+?2 10$2e3 e.&'0 ' ": (-~2j1) ^ 10$1 e.&'0 ' ": (-~2j1) ^ 1+?10$1e6 e.&'0 ' ": (-~2j1) ^ 0.1*1+?10$2e9 e.&'0 ' ": (-~2j1) ^ j./ 1+?2 10$2e3 (,'_') -: ": 0^_5 (,'_') -: ": 0^_5.4 (,'0') -: ": 0^3j4 '_ _ 0 0 0 0 0 0' -: ": 0^_3 _1 0j3 0j_3 3j4 3j_4 _3j4 _3j_4 NB. 0^0 ----------------------------------------------------------------- (,'1') -: ": ^~0 (,'1') -: ": ^~-~2 (,'1') -: ": ^~-~2.5 (,'1') -: ": ^~-~2j5 NB. x^0.5 --------------------------------------------------------------- x -: *~ x^0.5 [ x=:?2000$2 (%:x) -: x^0.5 (j.x^0.5) -: (-x)^0.5 x -: *~ x^0.5 [ x=:?2000$10000 (%:x) -: x^0.5 (j.x^0.5) -: (-x)^0.5 x -: *~ x^0.5 [ x=:0.01*?2000$10000 (%:x) -: x^0.5 (j.x^0.5) -: (-x)^0.5 x -: *~ x^0.5 [ x=:j./0.01*_5000+?2 2000$10000 (%:x) -: x^0.5 NB. x ^!.s y ------------------------------------------------------------ (3 ^!.4 [ 6) -: */3+4*i.6 (3j4^!._1 [ 6) -: */3j4-i.6 f =: 4 : '*/x+(i.y)*/s' (12 ^!.s 6) -: 12 f 6 [ s=:1.5 (12 ^!.s 6) -: 12 f 6 [ s=:1 (12 ^!.s 6) -: 12 f 6 [ s=:_1 'domain error' -: ^!.4 etx 5 'domain error' -: 3^!.4 etx 5.6 'domain error' -: ex '^!.''a''' 'domain error' -: ex '^!.(<4) ' NB. x m&|@^ y ----------------------------------------------------------- 6 = 2 (10&|@^) 1e9 2 = 2 (10&|@^) 1+1e9 4 = 2 (10&|@^) 2+1e9 8 = 2 (10&|@^) 3+1e9 6 = 2x (10&|@^) 1e9 2 = 2x (10&|@^) 1+1e9 4 = 2x (10&|@^) 2+1e9 8 = 2x (10&|@^) 3+1e9 6 = 2 (10&|@^) 10^40x 2 = 2 (10&|@^) 1+10^40x 4 = 2 (10&|@^) 2+10^40x 8 = 2 (10&|@^) 3+10^40x 6 = 2x (10&|@^) 10^40x 2 = 2x (10&|@^) 1+10^40x 4 = 2x (10&|@^) 2+10^40x 8 = 2x (10&|@^) 3+10^40x 6 = 10&|@(2 &^) 1e9 2 = 10&|@(2 &^) 1+1e9 4 = 10&|@(2 &^) 2+1e9 8 = 10&|@(2 &^) 3+1e9 6 = 10&|@(2x&^) 1e9 2 = 10&|@(2x&^) 1+1e9 4 = 10&|@(2x&^) 2+1e9 8 = 10&|@(2x&^) 3+1e9 6 = 10&|@(2 &^) 10^40x 2 = 10&|@(2 &^) 1+10^40x 4 = 10&|@(2 &^) 2+10^40x 8 = 10&|@(2 &^) 3+10^40x 6 = 10&|@(2x&^) 10^40x 2 = 10&|@(2x&^) 1+10^40x 4 = 10&|@(2x&^) 2+10^40x 8 = 10&|@(2x&^) 3+10^40x f=: 3 : 0 assert. 2 (y&|@^ -: y&|@^&x:) 10000 assert. 3 (y&|@^ -: y&|@^&x:) 10000 assert. 5 (y&|@^ -: y&|@^&x:) 10000 assert. 64 (y&|@^ -: y&|@^&x:) 10000 assert. 17393 (y&|@^ -: y&|@^&x:) 10000 1 ) f 1e9 f"0 (i:2)+<.%:<:2^IF64{31 63 f"0 (i:2)+<.%:<:2^53 x=: 7700892415753674751x 1 = 2 x&|@^ -:x-1 (3 (17 &|)@^ 9.5) -: 17|3 ^9.5 (3 (17x&|)@^ 9.5) -: 17|3 ^9.5 (3.7 (17 &|)@^ 9 ) -: 17|3.7^9 (3.7 (17x&|)@^ 9 ) -: 17|3.7^9 h=: 7927 y=: 1e5 4 2 ((895 h&|@^ y),h|895 ^_1) -: 895 h&|@^ y,_1 ((895x h&|@^ y),h|895x^_1) -: 895x h&|@^ y,_1 (10000&|@(2&^) x) -: 2 (10000&|@^) x=: 5 10 ?@$ 1e6 NB. x^y on infinite arguments ------------------------------------------- 0 -: 0 ^ _ _ -: 0 ^ __ _ -: 2.5 ^ _ 1 -: 1 ^ _ 0 -: _0.5 ^ _ 0 -: 0.5 ^ _ 'domain error' -: _1 ^ etx _ 'domain error' -: _1 ^ etx __ 'domain error' -: _5.15 ^ etx _ 'domain error' -: _0.15 ^ etx __ 0 0 0 1 _ _ _ _ -: ({._ 1x)^ __ _5 _4 0 1 2 3x _ 0 0 0 1 __ _ __ -: ({.__ 1x)^ __ _5 _4 0 1 2 3x 0 1 _ _ _ -: 0 1 2 3x _ ^ {. _ 1x 0 0 0 _ 1 0 0 0 -: __ _5 _4 0 1 2 3x _ ^ {. __ 1x 'domain error' -: _5x ^ etx {._ 1x 'domain error' -: __ 1x ^ etx {._ 1x 0 0 0 1 _ _ _ _ -: ({._ 1r1)^ __ _5 _4 0 1 2 3r1 _ 0 0 0 1 __ _ __ -: ({.__ 1r1)^ __ _5 _4 0 1 2 3r1 0 1 _ _ _ -: 0 1 2 3r1 _ ^ {. _ 1r1 0 0 0 _ 1 0 0 0 -: __ _5 _4 0 1 2 3r1 _ ^ {. __ 1r1 0 -: _1r2 ^ {. _ 1r1 0 -: 1r2 ^ {. _ 1r1 _ -: 1r2 ^ {. __ 1r1 'domain error' -: _5r1 ^ etx {._ 1r1 'domain error' -: __ 1r1 ^ etx {._ 1r1 'domain error' -: _1r2 ^ etx {.__ 1r1 4!:55 ;:'a exp f h pow rou s x y'