TEST(Core_SoftFloat, exp32)
{
//special cases
- ASSERT_TRUE(exp( softfloat::nan()).isNaN());
- ASSERT_TRUE(exp( softfloat::inf()).isInf());
- ASSERT_EQ (exp(-softfloat::inf()), softfloat::zero());
+ EXPECT_TRUE(exp( softfloat::nan()).isNaN());
+ EXPECT_TRUE(exp( softfloat::inf()).isInf());
+ EXPECT_EQ (exp(-softfloat::inf()), softfloat::zero());
//ln(FLT_MAX) ~ 88.722
const softfloat ln_max(88.722f);
TEST(Core_SoftFloat, exp64)
{
//special cases
- ASSERT_TRUE(exp( softdouble::nan()).isNaN());
- ASSERT_TRUE(exp( softdouble::inf()).isInf());
- ASSERT_EQ (exp(-softdouble::inf()), softdouble::zero());
+ EXPECT_TRUE(exp( softdouble::nan()).isNaN());
+ EXPECT_TRUE(exp( softdouble::inf()).isInf());
+ EXPECT_EQ (exp(-softdouble::inf()), softdouble::zero());
//ln(DBL_MAX) ~ 709.7827
const softdouble ln_max(709.7827);
const int nValues = 50000;
RNG rng(0);
//special cases
- ASSERT_TRUE(log(softfloat::nan()).isNaN());
+ EXPECT_TRUE(log(softfloat::nan()).isNaN());
for(int i = 0; i < nValues; i++)
{
Cv32suf x;
softfloat x32(x.f);
ASSERT_TRUE(log(x32).isNaN());
}
- ASSERT_TRUE(log(softfloat::zero()).isInf());
+ EXPECT_TRUE(log(softfloat::zero()).isInf());
vector<softfloat> inputs;
const int nValues = 50000;
RNG rng(0);
//special cases
- ASSERT_TRUE(log(softdouble::nan()).isNaN());
+ EXPECT_TRUE(log(softdouble::nan()).isNaN());
for(int i = 0; i < nValues; i++)
{
Cv64suf x;
softdouble x64(x.f);
ASSERT_TRUE(log(x64).isNaN());
}
- ASSERT_TRUE(log(softdouble::zero()).isInf());
+ EXPECT_TRUE(log(softdouble::zero()).isInf());
vector<softdouble> inputs;
inputs.push_back(softdouble::one());
}
}
//+-1 ** inf
- ASSERT_TRUE(pow( one, inf).isNaN());
- ASSERT_TRUE(pow(-one, inf).isNaN());
+ EXPECT_TRUE(pow( one, inf).isNaN());
+ EXPECT_TRUE(pow(-one, inf).isNaN());
// x ** 0 == 1
for(size_t i = 0; i < nValues; i++)
ASSERT_TRUE(pow(nan, x32).isNaN());
}
// nan ** 0 == 1
- ASSERT_EQ(pow(nan, zero), one);
+ EXPECT_EQ(pow(nan, zero), one);
// inf ** y == 0, if y < 0
// inf ** y == inf, if y > 0
}
// (0 ** 0) == 1
- ASSERT_EQ(pow(zero, zero), one);
+ EXPECT_EQ(pow(zero, zero), one);
// 0 ** y == inf, if y < 0
// 0 ** y == 0, if y > 0
}
}
//+-1 ** inf
- ASSERT_TRUE(pow( one, inf).isNaN());
- ASSERT_TRUE(pow(-one, inf).isNaN());
+ EXPECT_TRUE(pow( one, inf).isNaN());
+ EXPECT_TRUE(pow(-one, inf).isNaN());
// x ** 0 == 1
for(size_t i = 0; i < nValues; i++)
ASSERT_TRUE(pow(nan, x64).isNaN());
}
// nan ** 0 == 1
- ASSERT_EQ(pow(nan, zero), one);
+ EXPECT_EQ(pow(nan, zero), one);
// inf ** y == 0, if y < 0
// inf ** y == inf, if y > 0
}
// (0 ** 0) == 1
- ASSERT_EQ(pow(zero, zero), one);
+ EXPECT_EQ(pow(zero, zero), one);
// 0 ** y == inf, if y < 0
// 0 ** y == 0, if y > 0
}
// sin(x) is NaN iff x ix NaN or Inf
- ASSERT_TRUE(sin(softdouble::inf()).isNaN());
- ASSERT_TRUE(sin(softdouble::nan()).isNaN());
+ EXPECT_TRUE(sin(softdouble::inf()).isNaN());
+ EXPECT_TRUE(sin(softdouble::nan()).isNaN());
vector<int> exponents;
exponents.push_back(0);