diff options
Diffstat (limited to 'z3-solver/src')
-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> { |