You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
204 lines
4.9 KiB
204 lines
4.9 KiB
$ Test program for Aprepro
|
|
$
|
|
Test number representations
|
|
1 1 1 1 1
|
|
1 1 1 1 1
|
|
|
|
Test assign statements:
|
|
5 5 $ Should print 5 5
|
|
10 10 $ Should print 10 10
|
|
5 5 $ Should print 5 5
|
|
25 25 $ Should print 25 25
|
|
5 5 $ Should print 5 5
|
|
3125 3125 $ Should print 3125 3125
|
|
5 3125 3125 $ Should print 5 3125 3125
|
|
|
|
Test trigonometric functions (radians)
|
|
3.141592654 3.141592654 3.141592654 $ Three values of pi
|
|
0.7071067812 4.440892099e-16 $ sin(pi/4)
|
|
0.7071067812 0 $ cos(pi/4)
|
|
1 0 $ tan(pi/4)
|
|
|
|
Test trigonometric functions (degrees)
|
|
180 180 180
|
|
0.7071067812 2.842170943e-14 $ sin(180/4)
|
|
0.7071067812 0 $ cos(180/4)
|
|
1 0 $ tan(180/4)
|
|
|
|
Test max, min, sign, dim, abs
|
|
0.5 -1 $ Should be 0.5, -1
|
|
1 -0.5 $ Should be 1.0, -0.5
|
|
0 1 $ Should be 0 1
|
|
1 0 $ Should be 1 0
|
|
1 0 $ Should be 1 0
|
|
|
|
1 0
|
|
$ Test ternary...
|
|
correct
|
|
correct
|
|
|
|
$ Test ifdef lines
|
|
This line should be echoed. (a)
|
|
This line should be echoed. (b)
|
|
This line should be echoed. (c)
|
|
This line should be echoed. (d)
|
|
|
|
$ Test ifdef - else lines
|
|
This line should be echoed. (1)
|
|
This line should be echoed (4)
|
|
|
|
$ Test ifndef - else lines
|
|
This line should be echoed (6)
|
|
This line should be echoed. (7)
|
|
$ Lines a, b, c, d, 1, 4, 6, 7 should be echoed
|
|
$ Check line counting -- should be on line 78:
|
|
|
|
$ ========================================================================
|
|
$ Test string if lines
|
|
This line should be echoed ("greg")
|
|
|
|
|
|
This line should be echoed (empty)
|
|
|
|
|
|
$ ========================================================================
|
|
$ Test if lines
|
|
This line should be echoed. (a)
|
|
This line should be echoed. (b)
|
|
This line should be echoed. (c)
|
|
|
|
-4.440892099e-16
|
|
$ Test if - else lines
|
|
complex if works
|
|
|
|
square roots work
|
|
|
|
1 2
|
|
good nested if
|
|
good
|
|
make sure it is still good
|
|
$ ========================================================================
|
|
$ Test switch
|
|
This should echo
|
|
3.141592654
|
|
|
|
|
|
This should be equal to PI -- 3.141592654
|
|
$ Test int and [] (shortcut for int)
|
|
5 -5
|
|
5 -5
|
|
|
|
$ Test looping - print sin, cos from 0 to 90 by 5
|
|
-5
|
|
0 0 1 1
|
|
5 0.08715574275 0.9961946981 1
|
|
10 0.1736481777 0.984807753 1
|
|
15 0.2588190451 0.9659258263 1
|
|
20 0.3420201433 0.9396926208 1
|
|
25 0.4226182617 0.906307787 1
|
|
30 0.5 0.8660254038 1
|
|
35 0.5735764364 0.8191520443 1
|
|
40 0.6427876097 0.7660444431 1
|
|
45 0.7071067812 0.7071067812 1
|
|
50 0.7660444431 0.6427876097 1
|
|
55 0.8191520443 0.5735764364 1
|
|
60 0.8660254038 0.5 1
|
|
65 0.906307787 0.4226182617 1
|
|
70 0.9396926208 0.3420201433 1
|
|
75 0.9659258263 0.2588190451 1
|
|
80 0.984807753 0.1736481777 1
|
|
85 0.9961946981 0.08715574275 1
|
|
90 1 6.123233996e-17 1
|
|
|
|
$$$$ Test formatting and string concatenation
|
|
0 %.10g
|
|
1 Using the format %.1g, PI = 3
|
|
2 Using the format %.2g, PI = 3.1
|
|
3 Using the format %.3g, PI = 3.14
|
|
4 Using the format %.4g, PI = 3.142
|
|
5 Using the format %.5g, PI = 3.1416
|
|
6 Using the format %.6g, PI = 3.14159
|
|
7 Using the format %.7g, PI = 3.141593
|
|
8 Using the format %.8g, PI = 3.1415927
|
|
9 Using the format %.9g, PI = 3.14159265
|
|
10 Using the format %.10g, PI = 3.141592654
|
|
11 Using the format %.11g, PI = 3.1415926536
|
|
12 Using the format %.12g, PI = 3.14159265359
|
|
13 Using the format %.13g, PI = 3.14159265359
|
|
14 Using the format %.14g, PI = 3.1415926535898
|
|
15 Using the format %.15g, PI = 3.14159265358979
|
|
16 Using the format %.16g, PI = 3.141592653589793
|
|
17 Using the format %.17g, PI = 3.1415926535897931
|
|
18 Using the format %.18g, PI = 3.14159265358979312
|
|
19 Using the format %.19g, PI = 3.141592653589793116
|
|
20 Using the format %.20g, PI = 3.141592653589793116
|
|
Reset format to default: %.10g
|
|
|
|
$$$$ Test string rescanning and executing
|
|
|
|
Original String:
|
|
This is line 1: {a = atan2(0,-1)}
|
|
This is line 2: {sin(a/4)}
|
|
This is line 3: {cos(a/4)}
|
|
Rescanned String:
|
|
This is line 1: 3.141592654
|
|
This is line 2: 0.7071067812
|
|
This is line 3: 0.7071067812
|
|
Original String:
|
|
This has an embedded string: {T = "This is a string"}
|
|
Print Value of variable T = 0
|
|
Rescanned String:
|
|
This has an embedded string: This is a string
|
|
Print Value of variable T = This is a string
|
|
|
|
Original String: atan2(0,-1)
|
|
Executed String: 3.141592654
|
|
|
|
string = one two, three
|
|
delimiter " ,"
|
|
word count = 3
|
|
second word = "two"
|
|
|
|
string = (one two, three * four - five
|
|
delimiter " ,(*-"
|
|
word count = 5
|
|
second word = "two"
|
|
|
|
|
|
string = one two, three
|
|
delimiter " ,"
|
|
word count = 3
|
|
|
|
0
|
|
word 1 = "one"
|
|
word 2 = "two"
|
|
word 3 = "three"
|
|
|
|
$ Check parsing of escaped braces...
|
|
{ int a = b + 1.570796327 }
|
|
{ }
|
|
|
|
$ Test variable deletion
|
|
2.449489743
|
|
2.449489743
|
|
|
|
0 This should print warning about undefined variable
|
|
|
|
$ Test extract
|
|
test string is found
|
|
|
|
|
|
$ Test string tokenization optimization
|
|
1
|
|
51,52,53,54,61,62,63,64
|
|
71,72,73,74,81,82,83,84
|
|
Word 1 of list1 and list2 are 51 and 71
|
|
Word 2 of list1 and list2 are 52 and 72
|
|
Word 3 of list1 and list2 are 53 and 73
|
|
Word 4 of list1 and list2 are 54 and 74
|
|
Word 5 of list1 and list2 are 61 and 81
|
|
Word 6 of list1 and list2 are 62 and 82
|
|
Word 7 of list1 and list2 are 63 and 83
|
|
Word 8 of list1 and list2 are 64 and 84
|
|
|
|
$End of test file
|
|
|