FastLED 3.9.15
Loading...
Searching...
No Matches

◆ setup()

void setup ( )

Definition at line 82 of file SIMD.ino.

82 {
83 Serial.begin(115200);
84 delay(2000);
85
86 fl::sstream ss;
87 ss << "\n╔════════════════════════════════════════════════════════════════╗\n";
88 ss << "║ FastLED SIMD Operations Test Suite ║\n";
89 ss << "╚════════════════════════════════════════════════════════════════╝\n";
90 FL_PRINT(ss.str());
91
92 FL_PRINT("\nStarting SIMD operation tests...\n");
93
94 // ========================================================================
95 // Load/Store Tests
96 // ========================================================================
97 FL_PRINT("\n[CATEGORY] Load/Store Operations");
98 FL_PRINT("────────────────────────────────────────────────────────────────");
99
103
104 // ========================================================================
105 // Arithmetic Tests
106 // ========================================================================
107 FL_PRINT("\n[CATEGORY] Arithmetic Operations");
108 FL_PRINT("────────────────────────────────────────────────────────────────");
109
114
115 // ========================================================================
116 // Comparison Tests
117 // ========================================================================
118 FL_PRINT("\n[CATEGORY] Comparison Operations");
119 FL_PRINT("────────────────────────────────────────────────────────────────");
120
125
126 // ========================================================================
127 // Bitwise Tests
128 // ========================================================================
129 FL_PRINT("\n[CATEGORY] Bitwise Operations");
130 FL_PRINT("────────────────────────────────────────────────────────────────");
131
136
137 // ========================================================================
138 // Broadcast Tests
139 // ========================================================================
140 FL_PRINT("\n[CATEGORY] Broadcast Operations");
141 FL_PRINT("────────────────────────────────────────────────────────────────");
142
145
146 // ========================================================================
147 // Float Tests
148 // ========================================================================
149 FL_PRINT("\n[CATEGORY] Floating Point Operations");
150 FL_PRINT("────────────────────────────────────────────────────────────────");
151
159
160 // ========================================================================
161 // Print Summary
162 // ========================================================================
165
166 // Signal completion
167 if (failed_tests == 0) {
168 FL_PRINT("\nSIMD_TEST_SUITE_COMPLETE");
169 } else {
170 fl::sstream err;
171 err << "\nSIMD test suite failed with " << failed_tests << " error(s)";
172 FL_ERROR(err.str().c_str());
173 }
174}
int passed_tests
Definition SIMD.ino:75
int failed_tests
Definition SIMD.ino:76
int total_tests
Definition SIMD.ino:74
fl::vector< TestResult > test_results
Definition SIMD.ino:71
const char * c_str() const FL_NOEXCEPT
string str() const FL_NOEXCEPT
Definition strstream.h:43
#define FL_ERROR(X)
Definition log.h:219
#define FL_PRINT(X)
Print without prefix (like FL_WARN but without "WARN: " prefix) Uses sstream for dynamic formatting (...
Definition log.h:457
void delay(u32 ms, bool run_async=true) FL_NOEXCEPT
Public delay wrapper that keeps bare Arduino delay() preferred after using fl::delay; while still all...
Definition delay.h:98
void test_load_store_f32_4(TestResult &result)
void test_load_store_u8_16(TestResult &result)
void test_or_u8_16(TestResult &result)
void test_set1_u32_4(TestResult &result)
void test_add_sat_u8_16(TestResult &result)
void test_avg_u8_16(TestResult &result)
void test_load_store_u32_4(TestResult &result)
void test_min_f32_4(TestResult &result)
void test_and_u8_16(TestResult &result)
void run_test(const char *test_name, TestFunc test_func, fl::vector< TestResult > &results, int &total_tests, int &passed_tests, int &failed_tests)
Run a single test and record result.
void test_max_f32_4(TestResult &result)
void test_set1_f32_4(TestResult &result)
void test_min_u8_16(TestResult &result)
void test_mul_f32_4(TestResult &result)
void print_final_banner(int failed_tests)
Print final result banner (PASS/FAIL)
void test_sub_sat_u8_16(TestResult &result)
void test_add_f32_4(TestResult &result)
void test_div_f32_4(TestResult &result)
void test_xor_u8_16(TestResult &result)
void test_sub_f32_4(TestResult &result)
void test_scale_u8_16(TestResult &result)
void test_max_u8_16(TestResult &result)
void test_avg_round_u8_16(TestResult &result)
void test_blend_u8_16(TestResult &result)
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.
void test_andnot_u8_16(TestResult &result)
void test_sqrt_f32_4(TestResult &result)
#define Serial
Definition serial.h:304

References fl::basic_string::c_str(), failed_tests, FL_ERROR, FL_PRINT, passed_tests, simd_test::print_final_banner(), simd_test::print_summary(), simd_test::run_test(), Serial, fl::sstream::str(), simd_test::test_add_f32_4(), simd_test::test_add_sat_u8_16(), simd_test::test_and_u8_16(), simd_test::test_andnot_u8_16(), simd_test::test_avg_round_u8_16(), simd_test::test_avg_u8_16(), simd_test::test_blend_u8_16(), simd_test::test_div_f32_4(), simd_test::test_load_store_f32_4(), simd_test::test_load_store_u32_4(), simd_test::test_load_store_u8_16(), simd_test::test_max_f32_4(), simd_test::test_max_u8_16(), simd_test::test_min_f32_4(), simd_test::test_min_u8_16(), simd_test::test_mul_f32_4(), simd_test::test_or_u8_16(), test_results, simd_test::test_scale_u8_16(), simd_test::test_set1_f32_4(), simd_test::test_set1_u32_4(), simd_test::test_sqrt_f32_4(), simd_test::test_sub_f32_4(), simd_test::test_sub_sat_u8_16(), simd_test::test_xor_u8_16(), and total_tests.

+ Here is the call graph for this function: