Files
l2/c_extern.sl

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