// Adapted from https://github.com/Alexhuszagh/rust-lexical.
use crate ::lexical::exponent::*;
#[ test]
fn scientific_exponent_test() {
// 0 digits in the integer
assert_eq!(scientific_exponent(
0 ,
0 ,
5 ), -
6 );
assert_eq!(scientific_exponent(
10 ,
0 ,
5 ),
4 );
assert_eq!(scientific_exponent(-
10 ,
0 ,
5 ), -
16 );
// >0 digits in the integer
assert_eq!(scientific_exponent(
0 ,
1 ,
5 ),
0 );
assert_eq!(scientific_exponent(
0 ,
2 ,
5 ),
1 );
assert_eq!(scientific_exponent(
0 ,
2 ,
20 ),
1 );
assert_eq!(scientific_exponent(
10 ,
2 ,
20 ),
11 );
assert_eq!(scientific_exponent(-
10 ,
2 ,
20 ), -
9 );
// Underflow
assert_eq!(scientific_exponent(i32::MIN,
0 ,
0 ), i32::MIN);
assert_eq!(scientific_exponent(i32::MIN,
0 ,
5 ), i32::MIN);
// Overflow
assert_eq!(scientific_exponent(i32::MAX,
0 ,
0 ), i32::MAX -
1 );
assert_eq!(scientific_exponent(i32::MAX,
5 ,
0 ), i32::MAX);
}
#[ test]
fn mantissa_exponent_test() {
assert_eq!(mantissa_exponent(
10 ,
5 ,
0 ),
5 );
assert_eq!(mantissa_exponent(
0 ,
5 ,
0 ), -
5 );
assert_eq!(mantissa_exponent(i32::MAX,
5 ,
0 ), i32::MAX -
5 );
assert_eq!(mantissa_exponent(i32::MAX,
0 ,
5 ), i32::MAX);
assert_eq!(mantissa_exponent(i32::MIN,
5 ,
0 ), i32::MIN);
assert_eq!(mantissa_exponent(i32::MIN,
0 ,
5 ), i32::MIN +
5 );
}
Messung V0.5 in Prozent C=87 H=100 G=93
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-22)
¤
*© Formatika GbR, Deutschland