#ifndef _MAIN_H_ #define _MAIN_H_ #include #include #include #include "arm_math.h" #include "arm_nnfunctions.h" #include "ref_functions.h" extern int test_index; extern q7_t test_flags[50]; void initialize_results_q7(q7_t * ref, q7_t * opt, int length) { arm_fill_q7(0, ref, length); arm_fill_q7(37, opt, length); } void initialize_results_q15(q15_t * ref, q15_t * opt, int length) { arm_fill_q15(0, ref, length); arm_fill_q15(0x5F5, opt, length); } void verify_results_q7(q7_t * ref, q7_t * opt, int length) { bool if_match = true; for (int i = 0; i < length; i++) { if (ref[i] != opt[i]) { printf("Output mismatch at %d, expected %d, actual %d\r\n", i, ref[i], opt[i]); if_match = false; } } if (if_match == true) { printf("Outputs match.\r\n\r\n"); test_flags[test_index++] = 0; } else { test_flags[test_index++] = 1; } } void verify_results_q15(q15_t * ref, q15_t * opt, int length) { bool if_match = true; for (int i = 0; i < length; i++) { if (ref[i] != opt[i]) { printf("Output mismatch at %d, expected %d, actual %d\r\n", i, ref[i], opt[i]); if_match = false; } } if (if_match == true) { printf("Outputs match.\r\n\r\n"); test_flags[test_index++] = 0; } else { test_flags[test_index++] = 1; } } #endif