Mercurial > hg > jgplsrc
view test/g431.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. f/. f\ f\. models -------------------------------------------------- en =: #@] em =: (en >.@% 1&>.@|@[)`(en 0&>.@>:@- [) @. (0&<:@[) kay =: en`em @. (0&<@[) omask =: (em,en) $ ($&0@|@[ , $&1@kay) base =: 1&>.@-@[ * i.@em iind =: base ,. |@[ <. en - base seg =: ((+i.)/@[ { ])"1 _ infix =: 1 : '(iind x@seg ])"0 _' outfix =: 1 : '(omask x@# ])"0 _' prefix =: 1 : '>:@,.@i.@# x@{. ]' suffix =: 1 : ',.@i.@# x@}. ]' key =: 1 : '=@[ x@# ]' osub =: >@]`(>@[ >@:{ ]) @. (*@#@]) oind =: (+/&i./ </.&, i.)@(2&{.)@(,&1 1)@$ ob =: 1 : 'oind x@osub"0 1 ,@(<"_2)' bs =: 1 : '(x prefix) : (x infix )' bsd =: 1 : '(x suffix) : (x outfix)' sd =: 1 : '(x ob ) : (x key )' NB. f\.y ---------------------------------------------------------------- NB. Boolean a=:1=?10 5$2 (<\. -: < bsd) a (<\. -: < bsd) ,a (]\. -: ] bsd) a (+./\. -: +./ bsd) a NB. literal a=:a.{~32+?10 5$95 (<\. -: < bsd) a (<\. -: < bsd) ,a (]\. -: ] bsd) a NB. integer a=:?10 5$100 (<\. -: < bsd) a (<\. -: < bsd) ,a (]\. -: ] bsd) a (+/\. -: +/ bsd) a NB. floating point a=:o._40+?10 5$100 (<\. -: < bsd) a (<\. -: < bsd) ,a (]\. -: ] bsd) a (+/\. -: +/ bsd) a NB. complex a=:^0j0.01*_400+?10 5$1000 (<\. -: < bsd) a (<\. -: < bsd) ,a (]\. -: ] bsd) a (+/\. -: +/ bsd) a NB. boxed t=:(1=?70$3)<;.1 ?70$100 a=:t{~?10 3$#t (<\. -: < bsd) a (<\. -: < bsd) ,a (]\. -: ] bsd) a '' -: <\. '' '' -: <\. i.0 10 20 NB. f/\.y ---------------------------------------------------------------- (= /\. -: = / bsd) ?20$2 (< /\. -: < / bsd) ?20$2 (<./\. -: <./ bsd) ?20$2 (<:/\. -: <:/ bsd) ?20$2 (> /\. -: > / bsd) ?20$2 (>./\. -: >./ bsd) ?20$2 (>:/\. -: >:/ bsd) ?20$2 (+ /\. -: + / bsd) ?20$2 (+./\. -: +./ bsd) ?20$2 (+:/\. -: +:/ bsd) ?20$2 (* /\. -: * / bsd) ?20$2 (*./\. -: *./ bsd) ?20$2 (*:/\. -: *:/ bsd) ?20$2 (- /\. -: - / bsd) ?20$2 (% /\. -: % / bsd) ?20$2 (^ /\. -: ^ / bsd) ?20$2 (~:/\. -: ~:/ bsd) ?20$2 (| /\. -: | / bsd) ?20$2 (! /\. -: ! / bsd) ?20$2 *./(= /\. -: = / bsd)"1 #:i.32 *./(< /\. -: < / bsd)"1 #:i.32 *./(<./\. -: <./ bsd)"1 #:i.32 *./(<:/\. -: <:/ bsd)"1 #:i.32 *./(> /\. -: > / bsd)"1 #:i.32 *./(>./\. -: >./ bsd)"1 #:i.32 *./(>:/\. -: >:/ bsd)"1 #:i.32 *./(+ /\. -: + / bsd)"1 #:i.32 *./(+./\. -: +./ bsd)"1 #:i.32 *./(+:/\. -: +:/ bsd)"1 #:i.32 *./(* /\. -: * / bsd)"1 #:i.32 *./(*./\. -: *./ bsd)"1 #:i.32 *./(*:/\. -: *:/ bsd)"1 #:i.32 *./(- /\. -: - / bsd)"1 #:i.32 *./(% /\. -: % / bsd)"1 #:i.32 *./(^ /\. -: ^ / bsd)"1 #:i.32 *./(~:/\. -: ~:/ bsd)"1 #:i.32 *./(| /\. -: | / bsd)"1 #:i.32 *./(! /\. -: ! / bsd)"1 #:i.32 *./(= /\. -: = / bsd) |:#:i.32 *./(< /\. -: < / bsd) |:#:i.32 *./(<./\. -: <./ bsd) |:#:i.32 *./(<:/\. -: <:/ bsd) |:#:i.32 *./(> /\. -: > / bsd) |:#:i.32 *./(>./\. -: >./ bsd) |:#:i.32 *./(>:/\. -: >:/ bsd) |:#:i.32 *./(+ /\. -: + / bsd) |:#:i.32 *./(+./\. -: +./ bsd) |:#:i.32 *./(+:/\. -: +:/ bsd) |:#:i.32 *./(* /\. -: * / bsd) |:#:i.32 *./(*./\. -: *./ bsd) |:#:i.32 *./(*:/\. -: *:/ bsd) |:#:i.32 *./(- /\. -: - / bsd) |:#:i.32 *./(% /\. -: % / bsd) |:#:i.32 *./(^ /\. -: ^ / bsd) |:#:i.32 *./(~:/\. -: ~:/ bsd) |:#:i.32 *./(| /\. -: | / bsd) |:#:i.32 *./(! /\. -: ! / bsd) |:#:i.32 (<./\. -: <./bsd) 5e5-~20$1e6 (>./\. -: >./bsd) 5e5-~?20$1e6 (+ /\. -: + /bsd) 5e5-~?20$1e6 (* /\. -: * /bsd) 50-~?7$100 (- /\. -: - /bsd) 5e5-~?20$1e6 (% /\. -: % /bsd) 5e5-~?20$1e6 (<./\. -: <./bsd) 5e5-~?10 17$1e6 (>./\. -: >./bsd) 5e5-~?10 17$1e6 (+ /\. -: + /bsd) 5e5-~?10 17$1e6 (* /\. -: * /bsd) 50-~?10 17$100 (- /\. -: - /bsd) 5e5-~?10 17$1e6 (% /\. -: % /bsd) 5e5-~?10 17$1e6 (<./\. -: <./bsd) o.500-~?20$1e3 (>./\. -: >./bsd) o.500-~?20$1e3 (+ /\. -: + /bsd) o.500-~?20$1e3 (* /\. -: * /bsd) o.50-~?7$100 (- /\. -: - /bsd) o.500-~?20$1e3 (% /\. -: % /bsd) o.500-~?20$1e3 (<./\. -: <./bsd) o.455-~?10 17$1e3 (>./\. -: >./bsd) o.455-~?10 17$1e3 (+ /\. -: + /bsd) o.455-~?10 17$1e3 (* /\. -: * /bsd) o.50-~?10 17$100 (- /\. -: - /bsd) o.455-~?10 17$1e3 (% /\. -: % /bsd) o.455-~?10 17$1e3 (+ /\. -: + /bsd) j./?2 20$1e6 (* /\. -: * /bsd) j./?2 20$100 (- /\. -: - /bsd) j./?2 20$1e6 (% /\. -: % /bsd) j./?2 20$1e6 (+ /\. -: + /bsd) r.?10 17$1e6 (* /\. -: * /bsd) r.?10 17$100 (- /\. -: - /bsd) r.?10 17$1e6 (% /\. -: % /bsd) r.?10 17$1e6 (i.-1+n) -: 0,~+/\.n#1 [ n=:?1000 (n#1) -: +/\.(-n){.1 [ n=:?1000 (-/\.x) -: (#x)$2|0 1+#x=:2000$1 (-/\.x) -: (#x)$2|0 1+#x=:2001$1 (-/\.x) -: +/\.&.(*&((#x)$_1^1 0+#x)) x=:_900+?100 7$2000 (-/\.x) -: +/\.&.(*&((#x)$_1^1 0+#x)) x=:_900+?101 7$2000 (%/\.x) -: */\.&.(^&((#x)$_1^1 0+#x)) x=:>:?100 7$200 (%/\.x) -: */\.&.(^&((#x)$_1^1 0+#x)) x=:>:?101 7$200 NB. f\."r y ------------------------------------------------------------- (<bsd"0 -: <\."0) x=:?3 5 7$1000 (<bsd"1 -: <\."1) x (<bsd"2 -: <\."2) x (<bsd"3 -: <\."3) x ([bsd"0 -: [\."0) x=:a.{~?2 3 5$#a. ([bsd"1 -: [\."1) x ([bsd"2 -: [\."2) x ([bsd"3 -: [\."3) x f=: [^:(0&~:@[) (f/\. -: f/suffix ) x=: (? 15$2) * ? 15$10 (f/\."1 -: f/suffix"1) x=: (?22 15$2) * ?22 15$10 NB. f/\."r y ------------------------------------------------------------ plus =: 4 : 'x+y' sum =: 3 : '+ /y' #~. (sum\."0 ; plus/\."0 ; +/\."0) x=:?7 5 11$1e6 #~. (sum\."1 ; plus/\."1 ; +/\."1) x #~. (sum\."2 ; plus/\."2 ; +/\."2) x #~. (sum\."3 ; plus/\."3 ; +/\."3) x #~. (sum\."0 ; plus/\."0 ; +/\."0) x=:?7 5 11$6e8 #~. (sum\."1 ; plus/\."1 ; +/\."1) x #~. (sum\."2 ; plus/\."2 ; +/\."2) x #~. (sum\."3 ; plus/\."3 ; +/\."3) x times =: 4 : 'x*y' product =: 3 : '* /y' #~. (product\."0 ; times/\."0 ; */\."0) x=:x+0=x=:50-?7 5 11$100 #~. (product\."1 ; times/\."1 ; */\."1) x #~. (product\."2 ; times/\."2 ; */\."2) x #~. (product\."3 ; times/\."3 ; */\."3) x #~. (product\."0 ; times/\."0 ; */\."0) x=:x+0=x=:5e3-?7 5 11$1e4 #~. (product\."1 ; times/\."1 ; */\."1) x #~. (product\."2 ; times/\."2 ; */\."2) x 1 = #~. (product\."3 ; times/\."3 ; */\."3) x max =: 4 : 'x>.y' maxover =: 3 : '>./y' #~. (maxover\."0 ; max/\."0 ; >./\."0) x=:5e5-?7 5 11$1e6 #~. (maxover\."1 ; max/\."1 ; >./\."1) x #~. (maxover\."2 ; max/\."2 ; >./\."2) x #~. (maxover\."3 ; max/\."3 ; >./\."3) x #~. (maxover\."0 ; max/\."0 ; >./\."0) x=:o.5e5-?7 5 11$1e6 #~. (maxover\."1 ; max/\."1 ; >./\."1) x #~. (maxover\."2 ; max/\."2 ; >./\."2) x #~. (maxover\."3 ; max/\."3 ; >./\."3) x #~. (maxover\."0 ; max/\."0 ; >./\."0) x=:?7 5 11$2 #~. (maxover\."1 ; max/\."1 ; >./\."1) x #~. (maxover\."2 ; max/\."2 ; >./\."2) x #~. (maxover\."3 ; max/\."3 ; >./\."3) x xor =: 4 : 'x~:y' xover =: 3 : '~:/y' #~. (xover\."0 ; xor/\."0 ; ~:/\."0) x=:?7 5 11$2 #~. (xover\."1 ; xor/\."1 ; ~:/\."1) x #~. (xover\."2 ; xor/\."2 ; ~:/\."2) x #~. (xover\."3 ; xor/\."3 ; ~:/\."3) x (-: +/\."1) i. 0 (0)}?1$10 (-: +/\."1) i. 0 (0)}?2$10 (-: +/\."1) i. 0 (0)}?3$10 (-: +/\."1) i. 0 (0)}?4$10 (-: +/\."1) i. 0 (0)}?5$10 (-: +/\."2) i. 0 (1)}?2$10 (-: +/\."2) i. 0 (1)}?3$10 (-: +/\."2) i. 0 (1)}?4$10 (-: +/\."2) i. 0 (1)}?5$10 (-: +/\."2) i. 0 (2)}?3$10 (-: +/\."2) i. 0 (2)}?4$10 (-: +/\."2) i. 0 (2)}?5$10 4!:55 ;:'a base bs bsd em en f iind infix ' 4!:55 ;:'kay key max maxover n ob oind omask osub outfix ' 4!:55 ;:'plus prefix product sd seg suffix sum t times x xor xover '