1 # Some quick-n-dirty ways to create floats.
3 fn fill-in-rational _out: (addr float), nr: int, dr: int {
4 var out/edi: (addr float) <- copy _out
5 var result/xmm0: float <- convert nr
6 var divisor/xmm1: float <- convert dr
7 result <- divide divisor
11 fn fill-in-sqrt _out: (addr float), n: int {
12 var out/edi: (addr float) <- copy _out
13 var result/xmm0: float <- convert n
14 result <- square-root result
18 fn rational nr: int, dr: int -> _/xmm0: float {
19 var result/xmm0: float <- convert nr
20 var divisor/xmm1: float <- convert dr
21 result <- divide divisor
26 fn scale-down-and-round-up n: int, m: int -> _/ecx: int {
27 var result/ecx: int <- copy n
30 var result-f/xmm0: float <- convert result
31 var m-f/xmm1: float <- convert m
32 result-f <- divide m-f
33 result <- truncate result-f