Added stackrotatereverse function to VVS stdlib to complement stackrotate.
[vvhitespace] / stdlib / math.pvvs
... / ...
CommitLineData
1#ifndef VVS_STDLIB_MATH
2#define VVS_STDLIB_MATH
3
4@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
5@ Name:
6@ random (10000)
7@ Description:
8@ Returns a random IEEE-vetted number per RFC 1149.5.
9@ Call Stack:
10@ empty
11@ Return Stack:
12@ random number <-- TOS
13@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
14NSSVTSSSSN | Mark: 10000 (random)
15SSSTSSN | PUSH +4
16NTN | RTS
17
18@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
19@ Name:
20@ abs (10001)
21@ Description:
22@ Returns the absolute value of its argument
23@ Call Stack:
24@ signed number <-- TOS
25@ Return Stack:
26@ abs(signed number) <-- TOS
27@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
28NSSVTSSSTN | Mark: 10001 (absolute value)
29SNS | DUP
30NTTSSSTSSSTSSSSSSSSN | BMI > 00010001 00000000
31NSNSSSTSSSTSSSSSSSTN | JMP > 00010001 00000001
32NSSVSSSTSSSTSSSSSSSSN | Mark: 00010001 00000000
33SSTTN | PUSH -1
34TSSN | MULTIPLY
35NSSVSSSTSSSTSSSSSSSTN | Mark: 00010001 00000001
36NTN | RTS
37
38#endif