27 lines
662 B
Plaintext
27 lines
662 B
Plaintext
import stdlib.sl
|
|
import float.sl
|
|
|
|
# C-style externs (auto ABI handling)
|
|
extern long labs(long n)
|
|
extern void exit(int status)
|
|
extern double atan2(double y, double x)
|
|
|
|
word main
|
|
# Test C-style extern with implicit ABI handling
|
|
-10 labs puti cr
|
|
|
|
# Basic math (scaled to avoid libc printf dependency)
|
|
1.5 2.5 f+ # 4.0
|
|
1000000.0 f*
|
|
float>int puti cr # Prints 4000000 (6 decimal places of 4.0)
|
|
|
|
# External math library (libm)
|
|
10.0 10.0 atan2 # Result is pi/4
|
|
4.0 f* # Approx pi
|
|
1000000.0 f*
|
|
float>int puti cr # Prints scaled pi value
|
|
|
|
# Test extern void
|
|
0 exit
|
|
end
|