Format a single float per fuzz call

This commit is contained in:
David Tolnay
2022-05-15 14:22:16 -07:00
parent d8536f36a4
commit da2c2709a4
+8 -14
View File
@@ -9,19 +9,13 @@ enum FloatInput {
F64(f64),
}
#[derive(Arbitrary, Debug)]
struct Inputs {
inputs: Vec<(FloatInput, bool)>,
}
fuzz_target!(|input: Inputs| {
fuzz_target!(|inputs: (FloatInput, bool)| {
let (input, finite) = inputs;
let mut buffer = ryu::Buffer::new();
for input_step in input.inputs {
match input_step {
(FloatInput::F32(val), false) => buffer.format(val),
(FloatInput::F32(val), true) => buffer.format_finite(val),
(FloatInput::F64(val), false) => buffer.format(val),
(FloatInput::F64(val), true) => buffer.format_finite(val),
};
}
match (input, finite) {
(FloatInput::F32(val), false) => buffer.format(val),
(FloatInput::F32(val), true) => buffer.format_finite(val),
(FloatInput::F64(val), false) => buffer.format(val),
(FloatInput::F64(val), true) => buffer.format_finite(val),
};
});