diff options
author | Minijackson <minijackson@riseup.net> | 2022-12-29 01:40:08 +0100 |
---|---|---|
committer | Minijackson <minijackson@riseup.net> | 2022-12-29 01:40:08 +0100 |
commit | 9c15b76c5a6355902b2a105a7c6ee93f6b5016dc (patch) | |
tree | 44cacfe756169f7b3d3cc23f875864683ba2af74 /z3-solver/src/lib.rs | |
parent | 30f7d39ca2ed4590b5d356b1a4c024d11156a383 (diff) | |
download | diaphragm-9c15b76c5a6355902b2a105a7c6ee93f6b5016dc.tar.gz diaphragm-9c15b76c5a6355902b2a105a7c6ee93f6b5016dc.zip |
WIP v2: text works, primitives works in Lua
Diffstat (limited to 'z3-solver/src/lib.rs')
-rw-r--r-- | z3-solver/src/lib.rs | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/z3-solver/src/lib.rs b/z3-solver/src/lib.rs index 35a17a8..1c90a6f 100644 --- a/z3-solver/src/lib.rs +++ b/z3-solver/src/lib.rs | |||
@@ -30,15 +30,18 @@ impl Drop for Z3Context<'_> { | |||
30 | } | 30 | } |
31 | 31 | ||
32 | fn value_to_num_den(value: f64) -> (i32, i32) { | 32 | fn value_to_num_den(value: f64) -> (i32, i32) { |
33 | let fract = value.fract(); | 33 | // TODO: FIXME: so hacky, because I'm so lazy... |
34 | let number_of_fract_digits = -fract.log10().floor(); | 34 | ((value * 1_000_000.) as _, 1_000_000) |
35 | 35 | ||
36 | if number_of_fract_digits >= 1. && !number_of_fract_digits.is_infinite() { | 36 | // let fract = value.fract(); |
37 | let den = 10f64.powf(number_of_fract_digits); | 37 | // let number_of_fract_digits = -fract.log10().floor(); |
38 | ((value * den) as i32, den as i32) | 38 | // |
39 | } else { | 39 | // if number_of_fract_digits >= 1. && !number_of_fract_digits.is_infinite() { |
40 | (value as i32, 1) | 40 | // let den = 10f64.powf(number_of_fract_digits); |
41 | } | 41 | // ((value * den) as i32, den as i32) |
42 | // } else { | ||
43 | // (value as i32, 1) | ||
44 | // } | ||
42 | } | 45 | } |
43 | 46 | ||
44 | impl<'z3> Z3Context<'z3> { | 47 | impl<'z3> Z3Context<'z3> { |