mirror of
https://github.com/fastfloat/fast_float.git
synced 2025-12-06 16:56:57 +08:00
Adding further tests.
This commit is contained in:
parent
3377facde2
commit
f7c84156d5
@ -238,6 +238,12 @@ uint64_t get_mantissa(double f) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
std::string append_zeros(std::string str, size_t number_of_zeros) {
|
||||||
|
std::string answer(str);
|
||||||
|
for(size_t i = 0; i < number_of_zeros; i++) { answer += "0"; }
|
||||||
|
return answer;
|
||||||
|
}
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
void basic_test(std::string str, T expected) {
|
void basic_test(std::string str, T expected) {
|
||||||
T actual;
|
T actual;
|
||||||
@ -288,6 +294,13 @@ TEST_CASE("64bit.inf") {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("64bit.general") {
|
TEST_CASE("64bit.general") {
|
||||||
|
verify("1.1754941406275178592461758986628081843312458647327962400313859427181746759860647699724722770042717456817626953125", 0x1.2ced2f1aa2833p+0);
|
||||||
|
verify(append_zeros("1.1754941406275178592461758986628081843312458647327962400313859427181746759860647699724722770042717456817626953125",655), 0x1.2ced2f1aa2833p+0);
|
||||||
|
verify(append_zeros("1.1754941406275178592461758986628081843312458647327962400313859427181746759860647699724722770042717456817626953125",656), 0x1.2ced2f1aa2833p+0);
|
||||||
|
verify(append_zeros("1.1754941406275178592461758986628081843312458647327962400313859427181746759860647699724722770042717456817626953125",1000), 0x1.2ced2f1aa2833p+0);
|
||||||
|
verify("10000000000000000000", 0x1.158e460913dp+63);
|
||||||
|
verify("10000000000000000000000000000001000000000000", 0x1.cb2d6f618c879p+142);
|
||||||
|
verify("10000000000000000000000000000000000000000001", 0x1.cb2d6f618c879p+142);
|
||||||
verify("1.1920928955078125e-07", 1.1920928955078125e-07);
|
verify("1.1920928955078125e-07", 1.1920928955078125e-07);
|
||||||
verify("9355950000000000000.00000000000000000000000000000000001844674407370955161600000184467440737095516161844674407370955161407370955161618446744073709551616000184467440737095516166000001844674407370955161618446744073709551614073709551616184467440737095516160001844674407370955161601844674407370955674451616184467440737095516140737095516161844674407370955161600018446744073709551616018446744073709551611616000184467440737095001844674407370955161600184467440737095516160018446744073709551168164467440737095516160001844073709551616018446744073709551616184467440737095516160001844674407536910751601611616000184467440737095001844674407370955161600184467440737095516160018446744073709551616184467440737095516160001844955161618446744073709551616000184467440753691075160018446744073709",0x1.03ae05e8fca1cp+63);
|
verify("9355950000000000000.00000000000000000000000000000000001844674407370955161600000184467440737095516161844674407370955161407370955161618446744073709551616000184467440737095516166000001844674407370955161618446744073709551614073709551616184467440737095516160001844674407370955161601844674407370955674451616184467440737095516140737095516161844674407370955161600018446744073709551616018446744073709551611616000184467440737095001844674407370955161600184467440737095516160018446744073709551168164467440737095516160001844073709551616018446744073709551616184467440737095516160001844674407536910751601611616000184467440737095001844674407370955161600184467440737095516160018446744073709551616184467440737095516160001844955161618446744073709551616000184467440753691075160018446744073709",0x1.03ae05e8fca1cp+63);
|
||||||
verify("-0",-0.0);
|
verify("-0",-0.0);
|
||||||
@ -355,6 +368,10 @@ TEST_CASE("32bit.inf") {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("32bit.general") {
|
TEST_CASE("32bit.general") {
|
||||||
|
verify("1.1754941406275178592461758986628081843312458647327962400313859427181746759860647699724722770042717456817626953125", 0x1.2ced3p+0f);
|
||||||
|
verify(append_zeros("1.1754941406275178592461758986628081843312458647327962400313859427181746759860647699724722770042717456817626953125",655), 0x1.2ced3p+0f);
|
||||||
|
verify(append_zeros("1.1754941406275178592461758986628081843312458647327962400313859427181746759860647699724722770042717456817626953125",656), 0x1.2ced3p+0f);
|
||||||
|
verify(append_zeros("1.1754941406275178592461758986628081843312458647327962400313859427181746759860647699724722770042717456817626953125",1000), 0x1.2ced3p+0f);
|
||||||
verify32(1.00000006e+09f);
|
verify32(1.00000006e+09f);
|
||||||
verify32(1.4012984643e-45f);
|
verify32(1.4012984643e-45f);
|
||||||
verify32(1.1754942107e-38f);
|
verify32(1.1754942107e-38f);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user