annotate test/tsu.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. test script utilities -----------------------------------------------
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
3 1=#$ testpath NB. testpath must already be defined as path to tests (with final / or \) before loading tsu.ijs
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
4
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
5 testfiles=: 3 : 0 NB. y. is prefix - e.g., 'g' or 'gm' or 'gs'
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
6 testpath&,&.> /:~ {."1 [1!:0 testpath,y,'*.ijs'
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
7 )
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
8
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
9 ddall =: testfiles 'g' NB. all
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
10 ddgmbx =: testfiles 'gmbx' NB. map boxed arrays
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
11 ddgsp =: testfiles 'gsp' NB. sparse arrays
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
12 ddg =: ddall -. ddgmbx,ddgsp NB. "ordinary"
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
13
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
14 etx =: 1 : 'x :: (<:@(13!:11)@i.@0: >@{ 9!:8@i.@0:)'
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
15 ex =: ". etx
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
16 fex =: }. @ (i.&(10{a.) {. ]) @ (13!:12) @ i. @ 0: @ (0!:110)
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
17
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
18 threshold=: 0.75 NB. for timing tests
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
19 timer =: 6!:2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
20
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
21 type =: 3!:0
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
22 imax =: IF64{:: 2147483647; 9223372036854775807
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
23 imin =: (-imax)-1
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
24
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
25 scheck=: 3 : 0 NB. check sparse array
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
26 s=. $ y
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
27 a=. 2 $. y
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
28 e=. 3 $. y
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
29 i=. 4 $. y
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
30 x=. 5 $. y
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
31
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
32 assert. 1 = #$s NB. 0
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
33 assert. s -: <.s NB. 1
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
34 assert. imax >: #s NB. 2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
35 assert. *./ (0 <: s) *. s <: imax NB. 3
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
36 assert. _ > */s NB. 4
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
37
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
38 assert. 1 = #$a NB. 5
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
39 assert. *./ a e. i.#s NB. 6
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
40 assert. a -: ~.a NB. 7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
41
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
42 assert. 0 = #$e NB. 8
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
43 assert. (type e) = <. 0.001*type y NB. 9
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
44 assert. (type e) = type x NB. 10
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
45
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
46 assert. 2 = #$i NB. 11
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
47 assert. i -: <.i NB. 12
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
48 assert. imax >: #i NB. 13
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
49 assert. (#i) = #x NB. 14
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
50 assert. ({:$i) = #a NB. 15
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
51 assert. *./, (0<:i) *. i<"1 a{s NB. 16
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
52 assert. i -: ~. i NB. 17
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
53 assert. i -: /:~i NB. 18
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
54
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
55 assert. (#$x) = 1+(#s)-#a NB. 19
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
56 assert. (}.$x) -: ((i.#s)-.a){s NB. 20
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
57 1
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
58 )
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
59
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
60 comb=: 4 : 0
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
61 c=. 1 {.~ - d=. 1+y-x
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
62 z=. i.1 0
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
63 for_j. (d-1+y)+/&i.d do. z=. (c#j) ,. z{~;(-c){.&.><i.{.c=. +/\.c end.
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
64 )