| 12345678910111213141516171819 |
- type :fps = { s, b, s }
- export
- function s $sum(:fps %p) {
- @start
- %f1 =s load %p
- %p8 =l add 8, %p
- %f2 =s load %p8
- %s =s add %f1, %f2
- ret %s
- }
- # >>> driver
- # typedef struct { float f1; char b; float f2; } fps;
- # extern float sum(fps);
- # int main() { fps x = { 1.23, -1, 2.34 }; return !(sum(x) == 1.23f+2.34f); }
- # /* Note the f suffixes above are important
- # * otherwise C does double operations. */
- # <<<
|