build(ariadne): vendor serde crates
This commit was merged in pull request #15.
This commit is contained in:
1 parent
90f46026f0
commit
64773e0948
490 files changed
+175103
No files matched your search
@@ -0,0 +1,36 @@
|
||||
use rand::rngs::{SmallRng, SysRng};
|
||||
use rand::{Rng as _, SeedableRng as _};
|
||||
|
||||
const N: usize = if cfg!(miri) {
|
||||
500
|
||||
} else if let b"0" = opt_level::OPT_LEVEL.as_bytes() {
|
||||
1_000_000
|
||||
} else {
|
||||
100_000_000
|
||||
};
|
||||
|
||||
#[test]
|
||||
fn ryu_comparison() {
|
||||
let mut ryu_buffer = ryu::Buffer::new();
|
||||
let mut zmij_buffer = zmij::Buffer::new();
|
||||
let mut rng = SmallRng::try_from_rng(&mut SysRng).unwrap();
|
||||
let mut fail = 0;
|
||||
|
||||
for _ in 0..N {
|
||||
let bits = rng.next_u64();
|
||||
let float = f64::from_bits(bits);
|
||||
let ryu = ryu_buffer.format(float);
|
||||
let zmij = zmij_buffer.format(float);
|
||||
let matches = if ryu.contains('e') && !ryu.contains("e-") {
|
||||
ryu.split_once('e') == zmij.split_once("e+")
|
||||
} else {
|
||||
ryu == zmij
|
||||
};
|
||||
if !matches {
|
||||
eprintln!("RYU={ryu} ZMIJ={zmij}");
|
||||
fail += 1;
|
||||
}
|
||||
}
|
||||
|
||||
assert!(fail == 0, "{fail} mismatches");
|
||||
}
|
||||
Reference in new issue
Block a user