blob: 8460107926e00c592518a15e67f4dfe5ee66d3f3 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
namespace;
include rt;
// extern and cfunc with f32 and the sized integers
extern f32 sqrtf(f32);
extern f64 hypot(f64, f64);
extern i32 abs(i32);
extern u8 toupper(u8);
extern long labs(long);
fn put_f(x) { asm { x @ #1220 } return 0; }
fn sp() { rt.put_c(32); return 0; }
extern void qsort(word *base, long n, long size, void *cmp);
i32 cmpi(int* a, int* b) { return *a - *b; }
f32 half(f32 v) { return v / 2; }
fn main() {
f32 r = sqrtf(2.0);
put_f(r); sp();
rt.put_n(r == sqrtf(2.0)); sp();
put_f(hypot(3.0, 4.0)); sp();
rt.put_n(abs(0 - 77)); sp();
rt.put_n(toupper(97)); sp();
i32 big = 0 - 5;
rt.put_n(abs(big)); sp();
int v[4];
v[0] = 4; v[1] = 1; v[2] = 3; v[3] = 2;
qsort(v, 4, 8, cfunc(cmpi));
rt.put_n(v[0]); rt.put_n(v[1]); rt.put_n(v[2]); rt.put_n(v[3]); sp();
put_f(half(5.0));
rt.put_c(10);
return 0;
}
|