MCPcopy Create free account
hub / github.com/PX4/eigen / test_basic_functions

Function test_basic_functions

test/half_float.cpp:168–209  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

166}
167
168void test_basic_functions()
169{
170 VERIFY_IS_EQUAL(float(numext::abs(half(3.5f))), 3.5f);
171 VERIFY_IS_EQUAL(float(abs(half(3.5f))), 3.5f);
172 VERIFY_IS_EQUAL(float(numext::abs(half(-3.5f))), 3.5f);
173 VERIFY_IS_EQUAL(float(abs(half(-3.5f))), 3.5f);
174
175 VERIFY_IS_EQUAL(float(numext::floor(half(3.5f))), 3.0f);
176 VERIFY_IS_EQUAL(float(floor(half(3.5f))), 3.0f);
177 VERIFY_IS_EQUAL(float(numext::floor(half(-3.5f))), -4.0f);
178 VERIFY_IS_EQUAL(float(floor(half(-3.5f))), -4.0f);
179
180 VERIFY_IS_EQUAL(float(numext::ceil(half(3.5f))), 4.0f);
181 VERIFY_IS_EQUAL(float(ceil(half(3.5f))), 4.0f);
182 VERIFY_IS_EQUAL(float(numext::ceil(half(-3.5f))), -3.0f);
183 VERIFY_IS_EQUAL(float(ceil(half(-3.5f))), -3.0f);
184
185 VERIFY_IS_APPROX(float(numext::sqrt(half(0.0f))), 0.0f);
186 VERIFY_IS_APPROX(float(sqrt(half(0.0f))), 0.0f);
187 VERIFY_IS_APPROX(float(numext::sqrt(half(4.0f))), 2.0f);
188 VERIFY_IS_APPROX(float(sqrt(half(4.0f))), 2.0f);
189
190 VERIFY_IS_APPROX(float(numext::pow(half(0.0f), half(1.0f))), 0.0f);
191 VERIFY_IS_APPROX(float(pow(half(0.0f), half(1.0f))), 0.0f);
192 VERIFY_IS_APPROX(float(numext::pow(half(2.0f), half(2.0f))), 4.0f);
193 VERIFY_IS_APPROX(float(pow(half(2.0f), half(2.0f))), 4.0f);
194
195 VERIFY_IS_EQUAL(float(numext::exp(half(0.0f))), 1.0f);
196 VERIFY_IS_EQUAL(float(exp(half(0.0f))), 1.0f);
197 VERIFY_IS_APPROX(float(numext::exp(half(EIGEN_PI))), 20.f + float(EIGEN_PI));
198 VERIFY_IS_APPROX(float(exp(half(EIGEN_PI))), 20.f + float(EIGEN_PI));
199
200 VERIFY_IS_EQUAL(float(numext::log(half(1.0f))), 0.0f);
201 VERIFY_IS_EQUAL(float(log(half(1.0f))), 0.0f);
202 VERIFY_IS_APPROX(float(numext::log(half(10.0f))), 2.30273f);
203 VERIFY_IS_APPROX(float(log(half(10.0f))), 2.30273f);
204
205 VERIFY_IS_EQUAL(float(numext::log1p(half(0.0f))), 0.0f);
206 VERIFY_IS_EQUAL(float(log1p(half(0.0f))), 0.0f);
207 VERIFY_IS_APPROX(float(numext::log1p(half(10.0f))), 2.3978953f);
208 VERIFY_IS_APPROX(float(log1p(half(10.0f))), 2.3978953f);
209}
210
211void test_trigonometric_functions()
212{

Callers 1

test_half_floatFunction · 0.85

Calls 9

halfClass · 0.70
absFunction · 0.50
floorFunction · 0.50
ceilFunction · 0.50
sqrtFunction · 0.50
powFunction · 0.50
expFunction · 0.50
logFunction · 0.50
log1pFunction · 0.50

Tested by

no test coverage detected