diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2015-05-12 13:10:23 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2015-05-12 17:00:19 -0700 |
commit | 3663ca6c2d4c42c4a7bf6af4b2edf71dd8d10dd7 (patch) | |
tree | 330d04974b9d30bff1b16adc8d14a3d9fd77643d /031address.cc | |
parent | a70d593dfb8eea87a898a69adeb9689a21199edf (diff) | |
download | mu-3663ca6c2d4c42c4a7bf6af4b2edf71dd8d10dd7.tar.gz |
1356 - snapshot #2: floating point support
I added one test to check that divide can return a float, then hacked at the rippling failures across the entire entire codebase until all tests pass. Now I need to look at the changes I made and see if there's a system to them, identify other places that I missed, and figure out the best way to cover all cases. I also need to show real rather than encoded values in the traces, but I can't use value() inside reagent methods because of the name clash with the member variable. So let's take a snapshot before we attempt any refactoring. This was non-trivial to get right. Even if I convince myself that I've gotten it right, I might back this all out if I can't easily *persuade others* that I've gotten it right.
Diffstat (limited to '031address.cc')
-rw-r--r-- | 031address.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/031address.cc b/031address.cc index 58d93466..259ea976 100644 --- a/031address.cc +++ b/031address.cc @@ -48,7 +48,7 @@ reagent deref(reagent x) { assert(x.types.at(0) == ADDRESS); // compute value - result.set_value(Memory[x.value]); + result.set_value(mu_integer(value(Memory[x.value]))); // address must be a positive integer trace("mem") << "location " << x.value << " is " << result.value; // populate types |