Mercurial > hg > jgplsrc
view test/g310a.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. : ------------------------------------------------------------------- jnc =: 4!:0 verb =: 3&= @ jnc boxed =: 32&= @ type open =: 32&~: @ type inv =: 1 : 'x^: _1' pow=: 2 : 0 assert. verb <'u' if. verb <'v' do. u powv v elseif. boxed n do. u powg n elseif. 1 do. u pown n end. ) powv=: 2 : 0 u pown (v y) y : x u pown (x v y) y ) pown =: 2 : 0 if. #$n do. u powg (>@{.`(>@{:))"1 n;"0<y elseif. 0>n do. u inv pown (-n) y elseif. 1 do. assert. n-:<.n z=.y [ t=.0-:y [ i=._1 while. (t-:z)<n>i=.>:i do. z=.u t=.z end. end. : x&u pown n y ) powg=: 2 : 0 assert. ($n) -: ,2 v0=. (0{n) `:6 v1=. (1{n) `:6 u pown (v0 y) v1 y : assert. ($n) -:"1 ,. 2 3 n=. _3}.'[';n v0=. (0{n) `:6 v1=. (1{n) `:6 v2=. (2{n) `:6 (x v0 y) u pown (x v1 y) (x v2 y) ) (>: pow n -: >: ^: n) 1 [ n=.?10 (>: pow n -: >: ^: n) 1 [ n=.?10$10 (>: pow n -: >: ^: n) 1 [ n=._5+?10$10 (>: pow n -: >: ^: n) 1 [ n=.i.9 ((0&,+,&0) pow (i.9) -: (0&,+,&0)^:(i.9)) ,1 f=: (0&,+,&0) pow (i.9) 3 -: 4!:0 <'f' (+/\ pow n -: +/\ ^:n) 7{.1 [ n=.i.9 (+/\ pow n -: +/\ ^:n) 7{.1 [ n=._7+i.15 g=: i.@>:@+:@# - # (+/\ pow g -: +/\ ^:g) 7{.1 (2&o. pow _ -: 2&o. ^:_) 1 f=:(#:1 3)&(+/ .*) (f pow n -: f ^: n) 0 1 [ n=._5+i.11 (,~ pow n -: ,~ ^:n) 'x' [ n=.i.6 (,&'x' pow n -: ,&'x' ^:n) '' [ n=.i.6 (,&'xx' pow n -: ,&'xx'^:n) '' [ n=.i.6 4!:55 ;:'boxed f g inv jnc n open pow powg pown powv verb'