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

Function measure_rsqrt

tests/fl/math/fixed_point.cpp:1528–1545  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1526}
1527
1528AccuracyResult measure_rsqrt() {
1529 AccuracyResult r = {};
1530 const int N = 10; // Spot testing: 10 key points adequate for range coverage (was 50)
1531 const float lo = 0.01f;
1532 const float hi = 1000.0f;
1533 float sumErr = 0;
1534 for (int i = 0; i < N; ++i) {
1535 float x = lo + (hi - lo) * i / (N - 1);
1536 float ref = 1.0f / fl::sqrtf(x);
1537 float got = s16x16::rsqrt(s16x16(x)).to_float();
1538 float err = fl::fabsf(got - ref);
1539 sumErr += err;
1540 if (err > r.maxErr) { r.maxErr = err; r.worstInput = x; }
1541 }
1542 r.avgErr = sumErr / N;
1543 r.nSamples = N;
1544 return r;
1545}
1546
1547AccuracyResult measure_pow(float exponent, float baseLo, float baseHi) {
1548 AccuracyResult r = {};

Callers 1

FL_TEST_FILEFunction · 0.85

Calls 4

sqrtfFunction · 0.85
fabsfFunction · 0.85
s16x16Class · 0.50
to_floatMethod · 0.45

Tested by

no test coverage detected