strconv: fix `assert .f64() == 0`
parent
b2538e83da
commit
0f01236e52
|
@ -936,3 +936,19 @@ fn test_index_any() {
|
||||||
assert x.index_any('ef') == 4
|
assert x.index_any('ef') == 4
|
||||||
assert x.index_any('fe') == 4
|
assert x.index_any('fe') == 4
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn test_string_f64() {
|
||||||
|
assert ''.f64() == 0
|
||||||
|
assert '123'.f64() == 123
|
||||||
|
assert '-123'.f64() == -123
|
||||||
|
assert '-123.456'.f64() == -123.456
|
||||||
|
}
|
||||||
|
|
||||||
|
const f32_epsilon = 0.0000000001
|
||||||
|
|
||||||
|
fn test_string_f32() {
|
||||||
|
assert ''.f32() - 0 <= f32_epsilon
|
||||||
|
assert '123'.f32() - 123 < f32_epsilon
|
||||||
|
assert '-123'.f32() - (-123) < f32_epsilon
|
||||||
|
assert '-123.456'.f32() - (-123.456) <= f32_epsilon
|
||||||
|
}
|
||||||
|
|
|
@ -78,9 +78,7 @@ fn sub96(s2 u32, s1 u32, s0 u32, d2 u32, d1 u32, d0 u32) (u32, u32, u32) {
|
||||||
return r2, r1, r0
|
return r2, r1, r0
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
// Constants
|
||||||
Constants
|
|
||||||
*/
|
|
||||||
|
|
||||||
pub const (
|
pub const (
|
||||||
//
|
//
|
||||||
|
@ -118,9 +116,7 @@ pub const (
|
||||||
c_ten = u32(10)
|
c_ten = u32(10)
|
||||||
)
|
)
|
||||||
|
|
||||||
/*
|
// Utility functions
|
||||||
Utility
|
|
||||||
*/
|
|
||||||
|
|
||||||
// NOTE: Modify these if working with non-ASCII encoding
|
// NOTE: Modify these if working with non-ASCII encoding
|
||||||
fn is_digit(x byte) bool {
|
fn is_digit(x byte) bool {
|
||||||
|
@ -135,10 +131,6 @@ fn is_exp(x byte) bool {
|
||||||
return (x == `E` || x == `e`) == true
|
return (x == `E` || x == `e`) == true
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
Support struct
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
String parser
|
String parser
|
||||||
NOTE: #TOFIX need one char after the last char of the number
|
NOTE: #TOFIX need one char after the last char of the number
|
||||||
|
@ -408,12 +400,13 @@ fn converter(mut pn PrepNumber) u64 {
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
// Public functions
|
||||||
Public functions
|
|
||||||
*/
|
|
||||||
|
|
||||||
// atof64 return a f64 from a string doing a parsing operation
|
// atof64 return a f64 from a string doing a parsing operation
|
||||||
pub fn atof64(s string) f64 {
|
pub fn atof64(s string) f64 {
|
||||||
|
if s.len == 0 {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
mut pn := PrepNumber{}
|
mut pn := PrepNumber{}
|
||||||
mut res_parsing := 0
|
mut res_parsing := 0
|
||||||
mut res := Float64u{}
|
mut res := Float64u{}
|
||||||
|
|
Loading…
Reference in New Issue