MCPcopy Create free account
hub / github.com/FastLED/FastLED / measure_atan

Function measure_atan

tests/fl/math/fixed_point.cpp:1423–1440  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1421}
1422
1423AccuracyResult measure_atan() {
1424 AccuracyResult r = {};
1425 const int N = 10; // Spot testing: 10 key points adequate for range coverage (was 50)
1426 const float lo = -8.0f;
1427 const float hi = 8.0f;
1428 float sumErr = 0;
1429 for (int i = 0; i < N; ++i) {
1430 float x = lo + (hi - lo) * i / (N - 1);
1431 float ref = fl::atanf(x);
1432 float got = s16x16::atan(s16x16(x)).to_float();
1433 float err = fl::fabsf(got - ref);
1434 sumErr += err;
1435 if (err > r.maxErr) { r.maxErr = err; r.worstInput = x; }
1436 }
1437 r.avgErr = sumErr / N;
1438 r.nSamples = N;
1439 return r;
1440}
1441
1442AccuracyResult measure_atan2() {
1443 AccuracyResult r = {};

Callers 1

FL_TEST_FILEFunction · 0.85

Calls 5

atanfFunction · 0.85
atanFunction · 0.85
fabsfFunction · 0.85
s16x16Class · 0.50
to_floatMethod · 0.45

Tested by

no test coverage detected