annotate test/g402.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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
1 NB. #:y -----------------------------------------------------------------
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
3 max =: >./@:|@,
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
4 bits =: ] (1 >. ] + [ >: 2x&^@]) <.@(2&^.)@(1&>.)
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
5 abase1 =: #:~ $&2@bits@max
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
6
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
7 NB. Boolean
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
8 (#: -: abase1) x=:?2 3 4$2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
9 (#: -: abase1) x=: 0
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
10 (#: -: abase1) x=: 1
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
11
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
12 NB. integer
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
13 (#: -: abase1) x=:_6000+?2 3 4$12345
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
14 (#: -: abase1) x=:_500+?1000
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
15 (#: -: abase1) x=:_1e8+?100$2e8
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
16 (#: -: abase1) x=:_2147483648
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
17 (#: -: abase1) x=: 2147483647
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
18 (#: -: abase1) x=:_2147483648 25 9 2147483647
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
19 (#: -: abase1) imin
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
20 (#: -: abase1) imax
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
21 (#: -: abase1) x=: imax,imin,_5e8+10 ?@$ 1e9
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
22
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
23 NB. floating point
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
24 (#: -: abase1) x=:o._5000+?2 3 4$10000
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
25 (#: -: abase1) x=:o._500+?1000
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
26
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
27 0~:{.#:(2^12)-1e_9
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
28
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
29 NB. complex
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
30 (#: -: abase1) x=:j./?2 3 4$1000
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
31 (#: -: abase1) x=:r.?12345 6789
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
32
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
33 (,0) -: #: 0
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
34 (,1) -: #: 1
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
35 1 0 -: #: 2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
36 1 0 0 -: #: 4
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
37 1 0 0 0 -: #: 8
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
38 1 0 0 0 -: #: _8
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
39 1 1 0 1 -: #: 13
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
40
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
41 (70{.1) -: #: 2^69
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
42
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
43 f =: ([,-.@(0&e.))@$ $ ,
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
44 (f t) -: #:t=:?(>:?7$3)$2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
45 (f t) -: #:t=:(?32$2)$2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
46 (f t) -: #:t=:(?32$2)$2.4
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
47 (f t) -: #:t=:(?32$2)$2j4
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
48
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
49 'domain error' -: #: etx 'abc'
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
50 'domain error' -: #: etx 123;45 6
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
51
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
52
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
53 NB. x#:y ----------------------------------------------------------------
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
54
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
55 abase2 =: ([ | i.@#@$@] |: ([%~]-|)/\.@}.@,)"1 0
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
56 f =: *./@,@:(#: -: abase2)
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
57
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
58 NB. Boolean
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
59 (?4$2) f ?2 3 4$2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
60 (?4$2) f ?2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
61
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
62 NB. integer
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
63 (?4$100) f _6000+?2 5$12345
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
64 (_4+?2 4$10) f _6000+?2 1 3$12345
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
65 (?4$10) f _500+?1000
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
66 (_40+?3 2 4$100) f _6000+?3$12345
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
67
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
68 NB. floating point
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
69 (_15+?1 2 4$30) f o._5000+?1 2$10000
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
70 (_4+?7$9) f o._500+?10000
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
71
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
72 NB. complex
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
73 (_15+3 4$30) f r.?3 1 1 4$1000
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
74 (_4+?3 1 1 7$9) f r.?3 1$12345
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
75
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
76 (?2) (|-:#:) ?2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
77 (?100) (|-:#:) ?100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
78 (o.?100) (|-:#:) o.?100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
79 (r.?100) (|-:#:) r.?100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
80
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
81 1 2 3 4 -: 10 10 10 10#:1234
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
82 0 0 _1 _1 -: _2 _2 _2 _2#:1
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
83
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
84 f=: #: i.@(*/)
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
85 g=: 3 : 'y#:i.*/y'
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
86
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
87 (f -: g) ?5$5
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
88 (f -: g) ?5$14
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
89 (f -: g) _7+?5$14
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
90
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
91 'domain error' -: 2 3 4#: etx 'abc'
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
92 'domain error' -: 4 3 2#: etx 123;45 6
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
93 'domain error' -: 'abc'#: etx 7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
94 'domain error' -: (123;4 5 6)#: etx _12
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
95
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
96 4!:55 ;:'abase1 abase2 bits f g max t x '
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
97
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
98