about summary refs log tree commit diff stats
path: root/408float.mu
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-11-26 11:18:24 -0800
committerKartik Agaram <vc@akkartik.com>2020-11-26 11:18:24 -0800
commitd041165d0f8308e31c34585b4cb10cd355a03091 (patch)
treed8805c51d34db08b5a5116aa99e26a752650a9cd /408float.mu
parent6173a84f35207b11ef3658d8990c4058eedd995b (diff)
downloadmu-d041165d0f8308e31c34585b4cb10cd355a03091.tar.gz
7275
Diffstat (limited to '408float.mu')
-rw-r--r--408float.mu16
1 files changed, 16 insertions, 0 deletions
diff --git a/408float.mu b/408float.mu
new file mode 100644
index 00000000..ad94a8d3
--- /dev/null
+++ b/408float.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
+}