15 for (
size_t i = 0; i < count; i++) {
24 for (
size_t i = 0; i < count; i++) {
25 float diff = a[i] - b[i];
26 if (diff < 0.0f) diff = -diff;
41 ss <<
" ✓ PASS: " << result.test_name;
44 ss <<
" ✗ FAIL: " << result.test_name;
46 if (result.error_msg) {
48 err <<
" ERROR: " << result.error_msg;
62 ss <<
"\n╔════════════════════════════════════════════════════════════════╗\n";
63 ss <<
"║ SIMD TEST SUMMARY ║\n";
64 ss <<
"╚════════════════════════════════════════════════════════════════╝\n";
94 ss <<
"╔════════════════════════════════════════════════════════════════╗\n";
95 ss <<
"║ ✓ ALL TESTS PASSED ║\n";
96 ss <<
"╚════════════════════════════════════════════════════════════════╝";
98 ss <<
"╔════════════════════════════════════════════════════════════════╗\n";
99 ss <<
"║ ✗ TESTS FAILED ║\n";
100 ss <<
"╚════════════════════════════════════════════════════════════════╝";
fl::vector< TestResult > test_results
const char * c_str() const FL_NOEXCEPT
string str() const FL_NOEXCEPT
#define FL_PRINT(X)
Print without prefix (like FL_WARN but without "WARN: " prefix) Uses sstream for dynamic formatting (...
Centralized logging categories for FastLED hardware interfaces and subsystems.
void print_test_result(const TestResult &result)
Print test result to serial.
void print_final_banner(int failed_tests)
Print final result banner (PASS/FAIL)
bool compare_u8_arrays(const uint8_t *a, const uint8_t *b, size_t count)
Compare two uint8_t arrays element-wise.
void print_summary(const fl::vector< TestResult > &test_results, int total_tests, int passed_tests, int failed_tests)
Print summary table of all test results.
bool compare_f32_arrays(const float *a, const float *b, size_t count, float epsilon)
Compare two float arrays element-wise with epsilon tolerance.
Stores the result of a single SIMD test.