21 #define INCLUDE_FILE(section, filename, symbol) asm (\
23 ".globl _"#symbol"_start\n"
\
24 ".globl _"#symbol"_data\n"
\
25 "_"#symbol"_start:\n"
\
26 "_"#symbol"_data:\n"
\
27 ".incbin \""filename"\"\n"
\
28 ".globl _"#symbol"_end\n"
\
33 #define INCBIN_STYLE INCBIN_STYLE_SNAKE
35 #define INCLUDE_FILE(section, filename, symbol) INCBIN(symbol, filename)
37 #define INCLUDE_FILE(section, filename, symbol) asm (\
38 ".section "#section"\n"
\
40 ".global "#symbol"_start\n"
\
41 ".global "#symbol"_data\n"
\
44 ".incbin \""filename"\"\n"
\
45 ".global "#symbol"_end\n"
\
48 ".section \".text\"\n")
59static inline void nn_assert(
int condition,
char *message) {
61 printf(
"Assertion failed: ");
62 printf(
"%s\n", message);
78 for (
size_t i = 0; i < ndim; i += 1) {
79 printf(
"%d", (
int)shape[i]);
115 long int_part = (long)v;
116 float fractional_part = v - int_part;
119 printf(
"%ld", int_part);
121 if (num_digits > 0) {
126 while (num_digits > 0) {
128 fractional_part *= 10;
129 int digit = (int)(fractional_part);
131 fractional_part -= digit;
137#ifdef CONFIG_DTYPE_ENABLE_F16
141#ifdef CONFIG_DTYPE_ENABLE_I32
void nn_print_f32(float v, int16_t num_digits)
Definition: nn.h:96
void nn_print_shape(size_t ndim, const size_t *shape)
Definition: nn.h:76
static void nn_assert(int condition, char *message)
Definition: nn.h:59
Baremetal-NN Library functions for half-precision floating-point (fp16) numbers.
Baremetal-NN Library functions for single-precision floating-point (fp32) numbers.
Baremetal-NN Library functions for signed long integer (i32) numbers.