Skip to content

Commit dc0bcf2

Browse files
committed
Adds more tests for float functions, move/nmove and bit ops.
1 parent 2b9eb81 commit dc0bcf2

6 files changed

Lines changed: 101 additions & 0 deletions

File tree

testsuite/tests/misc-fp.bas

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
' Test miscellaneous floating-point functions
2+
? "Start"
3+
A%=VAL("-0.123") : ? A%
4+
A%=VAL("1E+10") : ? A%
5+
A%=12.45 : B=INT(A%) : ? ERR(),B
6+
A%=12.50 : B=INT(A%) : ? ERR(),B
7+
A%=-12.45 : B=INT(A%) : ? ERR(),B
8+
A%=-12.50 : B=INT(A%) : ? ERR(),B
9+
A%=32767.0 : B=INT(A%) : ? ERR(),B
10+
A%=32767.5 : B=INT(A%) : ? ERR(),B
11+
A%=65535.5 : B=INT(A%) : ? ERR(),B
12+
13+
A%=8E+97 : A% = A%+2E+97 : X%=0 : @check
14+
A%=2 : A% = A%^280 : X%=1.94266889E+84 : @check ' Valid
15+
A%=2 : A% = A%^329 : X%=0 : @check ' Overflow on square
16+
A%=5 : A% = A%^141 : X%=0 : @check ' Overflow on multiplication
17+
A%=2 : A% = A%^-30 : X%=9.31322574615E-10 : @check ' Valid small
18+
A%=2 : A% = A%^-326 : X%=0 : @check ' Underflow -> 0
19+
A%=2 : A% = A%^0 : X%=1 : @check ' One
20+
21+
A%=2 : A% = SQR(A%) : X%=1.41421356237 : @check
22+
A%=-2 : A% = SQR(A%) : X%=-2 : @check
23+
A%=0 : A% = SQR(A%) : X%=0 : @check
24+
25+
' Many random numbers
26+
FOR I=0 TO 199 : A%=RND() : IF A%<0 OR A%>=1 THEN EXIT : NEXT
27+
? I
28+
29+
DEG
30+
A%=ATN(1) : X%=45 : @check
31+
A%=SIN(1) : X%=.01745240643728 : @check
32+
A%=SIN(-1) : X%=-.01745240643728 : @check
33+
A%=COS(1) : X%=.99984769515639 : @check
34+
A%=COS(-1) : X%=.99984769515639 : @check
35+
A%=COS(1E12) : X%=0 : @check ' Arg too big
36+
RAD
37+
A%=ATN(1) : X%=.78539816339 : @check
38+
A%=SIN(1) : X%=.841470984807896: @check
39+
A%=SIN(-1) : X%=-.841470984807896: @check
40+
A%=COS(1) : X%=.54030230586814 : @check
41+
A%=COS(-1) : X%=.54030230586814 : @check
42+
A%=COS(1234) : X%=-.798549 : @check
43+
44+
45+
46+
47+
PROC check
48+
? ERR(),
49+
X% = (A% - X%)/X%
50+
IF X% < -0.000001 OR X% > 0.000001
51+
? "BAD", A%
52+
ELSE
53+
? "OK"
54+
ENDIF
55+
ENDPROC

testsuite/tests/misc-fp.chk

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
Name: Test miscellaneous floating-point functions
2+
Test: run-fp
3+
Output:
4+
Start
5+
-0.123
6+
1E+10
7+
1 12
8+
1 13
9+
1 -12
10+
1 -13
11+
1 32767
12+
3 -32768
13+
3 5376
14+
3 BAD 1E+98
15+
1 OK
16+
3 BAD 1
17+
3 BAD 1
18+
1 OK
19+
1 OK
20+
1 OK
21+
1 OK
22+
3 OK
23+
1 OK
24+
200
25+
1 OK
26+
1 OK
27+
1 OK
28+
1 OK
29+
1 OK
30+
3 BAD 1.11111111E+10
31+
1 OK
32+
1 OK
33+
1 OK
34+
1 OK
35+
1 OK
36+
1 OK

testsuite/tests/misc-int.bas

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,4 @@ A=VAL("66500") : B=ERR()
3232
S$="000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123400000000000000"
3333
? VAL(S$)
3434
? VAL("-0")
35+
A=3281 : B=2928 : ? A!B, A&B, A EXOR B

testsuite/tests/misc-int.chk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,4 @@ Start
1717
1 0 1 1
1818
12340
1919
0
20+
4081 2128 1953

testsuite/tests/stmt-move.bas

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@ for x=249 to 260
3131
exec sum_a
3232
next
3333

34+
' Test special case in calculation of division by 255:
35+
for x=505 to 515 : a(x) = x-505 : next
36+
? a(508);a(509);a(510);a(511);a(512)
37+
-move adr(a), adr(a)+1, 511
38+
? a(508);a(509);a(510);a(511);a(512)
39+
3440
' Test addresses about 256 / MOVE
3541
ad = ((adr(a) + 265) & $FF00) - adr(a)
3642
for x=ad-3 to ad+3

testsuite/tests/stmt-move.chk

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ initginginging number 1, all lowercase
2121
3108
2222
3120
2323
3132
24+
34567
25+
23457
2426
00000000101010101010101010101010101010101000000000000
2527
00000000010101010101010101010101010101010100000000000
2628
00000000001010101010101010101010101010101010000000000

0 commit comments

Comments
 (0)