diff options
| author | Alejandro Soto <alejandro@34project.org> | 2024-03-03 20:39:39 -0600 |
|---|---|---|
| committer | Alejandro Soto <alejandro@34project.org> | 2024-03-03 20:42:36 -0600 |
| commit | 2b7b2185d381f2c5fd4aee19bd3a3508b4c9557f (patch) | |
| tree | acd92b7a9de4678a08cf7e55f99b27fc23ff8938 /platform/wavelet3d/main.cpp | |
| parent | cce507d21c86f20a83eec1b09fe3231399ffb10c (diff) | |
platform/wavelet3d: implement rounded fmul
Diffstat (limited to 'platform/wavelet3d/main.cpp')
| -rw-r--r-- | platform/wavelet3d/main.cpp | 19 |
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 |
