summaryrefslogtreecommitdiff
path: root/platform/wavelet3d/main.cpp
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2024-03-03 20:39:39 -0600
committerAlejandro Soto <alejandro@34project.org>2024-03-03 20:42:36 -0600
commit2b7b2185d381f2c5fd4aee19bd3a3508b4c9557f (patch)
treeacd92b7a9de4678a08cf7e55f99b27fc23ff8938 /platform/wavelet3d/main.cpp
parentcce507d21c86f20a83eec1b09fe3231399ffb10c (diff)
platform/wavelet3d: implement rounded fmul
Diffstat (limited to 'platform/wavelet3d/main.cpp')
-rw-r--r--platform/wavelet3d/main.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/platform/wavelet3d/main.cpp b/platform/wavelet3d/main.cpp
index ce632b6..1243dba 100644
--- a/platform/wavelet3d/main.cpp
+++ b/platform/wavelet3d/main.cpp
@@ -1,3 +1,4 @@
+#include <iostream>
#include <cstddef>
#include <cstdio>
#include <cstdlib>
@@ -21,6 +22,24 @@ int main(int argc, char **argv)
#endif
Py_Initialize();
+
+ float a, b;
+ std::cin >> a >> b;
+
+ top.a = *reinterpret_cast<unsigned*>(&a);
+ top.b = *reinterpret_cast<unsigned*>(&b);
+
+ for (int i = 0; i < 1000; ++i) {
+ top.clk = 0;
+ top.eval();
+
+ top.clk = 1;
+ top.eval();
+ }
+
+ unsigned q = top.q;
+ std::cout << a << " * " << b << " = " << *reinterpret_cast<float*>(&q) << '\n';
+
bool failed = Py_FinalizeEx() < 0;
#if VM_TRACE