Move negation in `internal_rat_to_float` to end of procedure
@@ -378,9 +378,6 @@ internal_rat_to_float :: proc($T: typeid, z: ^Rat, allocator := context.allocato
}
has_sign := a.sign != b.sign
- defer if has_sign {
- f = -builtin.abs(f)
- }
exp := alen - blen
a2, b2 := &Int{}, &Int{}
@@ -440,6 +437,9 @@ internal_rat_to_float :: proc($T: typeid, z: ^Rat, allocator := context.allocato
if math.is_inf(f, 0) {
exact = false
+ if has_sign {
+ f = -builtin.abs(f)
+ }
return