gitextract__zjpraf8/ ├── .github/ │ └── workflows/ │ └── upload_component.yml ├── .gitignore ├── .gitlab-ci.yml ├── CMakeLists.txt ├── CONTRIBUTING.md ├── Kconfig.projbuild ├── LICENSE ├── README.md ├── idf_component.yml ├── include/ │ ├── esp_nn.h │ ├── esp_nn_ansi_c.h │ ├── esp_nn_ansi_headers.h │ ├── esp_nn_defs.h │ ├── esp_nn_esp32p4.h │ ├── esp_nn_esp32s3.h │ └── esp_nn_generic_opt.h ├── src/ │ ├── activation_functions/ │ │ ├── esp_nn_hard_swish_ansi.c │ │ ├── esp_nn_hard_swish_s8_esp32p4.c │ │ ├── esp_nn_hard_swish_s8_esp32s3.c │ │ ├── esp_nn_relu_ansi.c │ │ ├── esp_nn_relu_s8_esp32p4.c │ │ └── esp_nn_relu_s8_esp32s3.S │ ├── basic_math/ │ │ ├── esp_nn_add_ansi.c │ │ ├── esp_nn_add_s8_esp32p4.c │ │ ├── esp_nn_add_s8_esp32s3.S │ │ ├── esp_nn_mul_ansi.c │ │ ├── esp_nn_mul_broadcast_s8_esp32s3.S │ │ ├── esp_nn_mul_s8_esp32p4.c │ │ └── esp_nn_mul_s8_esp32s3.S │ ├── common/ │ │ ├── common_functions.h │ │ ├── esp_nn_common_functions_esp32s3.S │ │ ├── esp_nn_dot_s8_esp32s3.S │ │ ├── esp_nn_mean_ansi.c │ │ ├── esp_nn_mean_s8_esp32p4.c │ │ ├── esp_nn_mean_s8_esp32s3.c │ │ ├── esp_nn_multiply_by_quantized_mult_esp32p4.S │ │ ├── esp_nn_multiply_by_quantized_mult_esp32s3.S │ │ └── esp_nn_multiply_by_quantized_mult_ver1_esp32s3.S │ ├── convolution/ │ │ ├── esp_nn_conv_ansi.c │ │ ├── esp_nn_conv_esp32p4.c │ │ ├── esp_nn_conv_esp32s3.c │ │ ├── esp_nn_conv_opt.c │ │ ├── esp_nn_conv_s16_mult4_1x1_esp32s3.S │ │ ├── esp_nn_conv_s16_mult8_esp32s3.S │ │ ├── esp_nn_conv_s8_1x1_esp32s3.c │ │ ├── esp_nn_conv_s8_3x3_opt_esp32s3.c │ │ ├── esp_nn_conv_s8_filter_aligned_input_padded_esp32s3.S │ │ ├── esp_nn_conv_s8_mult8_1x1_esp32s3.S │ │ ├── esp_nn_depthwise_conv_ansi.c │ │ ├── esp_nn_depthwise_conv_esp32p4.c │ │ ├── esp_nn_depthwise_conv_opt.c │ │ ├── esp_nn_depthwise_conv_s16_mult1_3x3_esp32s3.S │ │ ├── esp_nn_depthwise_conv_s16_mult1_3x3_no_pad_esp32s3.S │ │ ├── esp_nn_depthwise_conv_s16_mult1_esp32s3.S │ │ ├── esp_nn_depthwise_conv_s16_mult4_esp32s3.S │ │ ├── esp_nn_depthwise_conv_s16_mult8_3x3_esp32s3.S │ │ ├── esp_nn_depthwise_conv_s16_mult8_esp32s3.S │ │ ├── esp_nn_depthwise_conv_s8_esp32s3.c │ │ └── esp_nn_depthwise_conv_s8_mult1_3x3_padded_esp32s3.S │ ├── fully_connected/ │ │ ├── esp_nn_fc_s8_mac16_esp32s3.S │ │ ├── esp_nn_fully_connected_ansi.c │ │ ├── esp_nn_fully_connected_esp32s3.c │ │ ├── esp_nn_fully_connected_per_ch_s8_esp32s3.S │ │ ├── esp_nn_fully_connected_s8_esp32p4.c │ │ └── esp_nn_fully_connected_s8_esp32s3.S │ ├── logistic/ │ │ └── esp_nn_logistic_ansi.c │ ├── pooling/ │ │ ├── esp_nn_avg_pool_ansi.c │ │ ├── esp_nn_avg_pool_s8_esp32p4.c │ │ ├── esp_nn_avg_pool_s8_esp32s3.S │ │ ├── esp_nn_avg_pool_s8_esp32s3.c │ │ ├── esp_nn_max_pool_ansi.c │ │ ├── esp_nn_max_pool_s8_esp32p4.c │ │ └── esp_nn_max_pool_s8_esp32s3.S │ └── softmax/ │ ├── esp_nn_softmax_ansi.c │ ├── esp_nn_softmax_opt.c │ ├── esp_nn_softmax_s8_esp32p4.c │ ├── esp_nn_softmax_s8_esp32s3.c │ └── softmax_common.h ├── test_app/ │ ├── CMakeLists.txt │ ├── Makefile │ ├── main/ │ │ ├── CMakeLists.txt │ │ ├── component.mk │ │ └── main.c │ ├── sdkconfig.defaults │ ├── sdkconfig.defaults.esp32p4 │ └── sdkconfig.defaults.esp32s3 └── tests/ ├── CMakeLists.txt ├── README.md ├── component.mk ├── include/ │ ├── test_functions.h │ └── test_utils.h └── src/ ├── basic_math_test.c ├── convolution_test.c ├── fully_connected_test.c ├── hard_swish_test.c ├── mean_test.c ├── pooling_test.c ├── relu_test.c └── softmax_test.c