about summary refs log tree commit diff stats
path: root/409float.mu
diff options
context:
space:
mode:
Diffstat (limited to '409float.mu')
-rw-r--r--409float.mu16
1 files changed, 16 insertions, 0 deletions
diff --git a/409float.mu b/409float.mu
new file mode 100644
index 00000000..ad94a8d3
--- /dev/null
+++ b/409float.mu
@@ -0,0 +1,16 @@
+# Some quick-n-dirty ways to create floats.
+
+fn fill-in-rational _out: (addr float), nr: int, dr: int {
+  var out/edi: (addr float) <- copy _out
+  var result/xmm0: float <- convert nr
+  var divisor/xmm1: float <- convert dr
+  result <- divide divisor
+  copy-to *out, result
+}
+
+fn fill-in-sqrt _out: (addr float), n: int {
+  var out/edi: (addr float) <- copy _out
+  var result/xmm0: float <- convert n
+  result <- square-root result
+  copy-to *out, result
+}