SSCMA-Micro CPP SDK  v2.0.0
SSCMA-Micro is a cross-platform machine learning inference framework designed for embedded devices.
ma_compiler.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define MA_STRINGIFY(s)   #s
 
#define MA_STRINGIZE(s)   MA_STRINGIFY(s)
 
#define MA_CONCAT(a, b)   a##b
 
#define MA_CONCAT3(a, b, c)   a##b##c
 
#define MA_UNUSED(x)   (void)(x)
 
#define MA_ARRAY_SIZE(x)   (sizeof(x) / sizeof((x)[0]))
 
#define MA_MAX(a, b)   ((a) > (b) ? (a) : (b))
 
#define MA_MIN(a, b)   ((a) < (b) ? (a) : (b))
 
#define MA_CLIP(x, a, b)   ((x) < (a) ? (a) : ((x) > (b) ? (b) : (x)))
 
#define MA_ABS(a)   ((a) < 0 ? -(a) : (a))
 
#define MA_ALIGN(x, a)   (((x) + ((a) - 1)) & ~((a) - 1))
 
#define MA_ALIGN_DOWN(x, a)   ((x) & ~((a) - 1))
 
#define MA_ALIGN_UP(x, a)   (((x) + ((a) - 1)) & ~((a) - 1))
 
#define MA_IS_ALIGNED(x, a)   (((x) & ((typeof(x))(a) - 1)) == 0)
 
#define MA_IS_ALIGNED_DOWN(x, a)   (((x) & ((typeof(x))(a) - 1)) == 0)
 
#define MA_IS_ALIGNED_UP(x, a)   (((x) & ((typeof(x))(a) - 1)) == 0)
 
#define MA_BIT(n)   (1 << (n))
 
#define MA_BIT_MASK(n)   (MA_BIT(n) - 1)
 
#define MA_BIT_SET(x, n)   ((x) |= MA_BIT(n))
 
#define MA_BIT_CLR(x, n)   ((x) &= ~EL_BIT(n))
 
#define MA_BIT_GET(x, n)   (((x) >> (n)) & 1)
 
#define MA_BIT_SET_MASK(x, n, m)   ((x) |= ((m) << (n)))
 
#define MA_BIT_CLR_MASK(x, n, m)   ((x) &= ~((m) << (n)))
 
#define MA_BIT_GET_MASK(x, n, m)   (((x) >> (n)) & (m))
 
#define MA_BIT_SET_MASKED(x, n, m)   ((x) |= ((m) & (MA_BIT_MASK(n) << (n))))
 
#define MA_BIT_CLR_MASKED(x, n, m)   ((x) &= ~((m) & (MA_BIT_MASK(n) << (n))))
 
#define MA_BIT_GET_MASKED(x, n, m)   (((x) >> (n)) & (m))
 
#define _MA_COUNTER_   __LINE__
 
#define MA_STATIC_ASSERT(const_expr, _mess)    enum { MA_CONCAT(_verify_static_, _MA_COUNTER_) = 1 / (!!(const_expr)) }
 
#define MA_LITTLE_ENDIAN   (0x12u)
 
#define MA_BIG_ENDIAN   (0x21u)
 
#define MA_EXPORT   __attribute__((visibility("default")))
 
#define MA_ARCH_32   1
 

Macro Definition Documentation

◆ _MA_COUNTER_

#define _MA_COUNTER_   __LINE__

◆ MA_ABS

#define MA_ABS (   a)    ((a) < 0 ? -(a) : (a))

◆ MA_ALIGN

#define MA_ALIGN (   x,
 
)    (((x) + ((a) - 1)) & ~((a) - 1))

◆ MA_ALIGN_DOWN

#define MA_ALIGN_DOWN (   x,
 
)    ((x) & ~((a) - 1))

◆ MA_ALIGN_UP

#define MA_ALIGN_UP (   x,
 
)    (((x) + ((a) - 1)) & ~((a) - 1))

◆ MA_ARCH_32

#define MA_ARCH_32   1

◆ MA_ARRAY_SIZE

#define MA_ARRAY_SIZE (   x)    (sizeof(x) / sizeof((x)[0]))

◆ MA_BIG_ENDIAN

#define MA_BIG_ENDIAN   (0x21u)

◆ MA_BIT

#define MA_BIT (   n)    (1 << (n))

◆ MA_BIT_CLR

#define MA_BIT_CLR (   x,
 
)    ((x) &= ~EL_BIT(n))

◆ MA_BIT_CLR_MASK

#define MA_BIT_CLR_MASK (   x,
  n,
 
)    ((x) &= ~((m) << (n)))

◆ MA_BIT_CLR_MASKED

#define MA_BIT_CLR_MASKED (   x,
  n,
 
)    ((x) &= ~((m) & (MA_BIT_MASK(n) << (n))))

◆ MA_BIT_GET

#define MA_BIT_GET (   x,
 
)    (((x) >> (n)) & 1)

◆ MA_BIT_GET_MASK

#define MA_BIT_GET_MASK (   x,
  n,
 
)    (((x) >> (n)) & (m))

◆ MA_BIT_GET_MASKED

#define MA_BIT_GET_MASKED (   x,
  n,
 
)    (((x) >> (n)) & (m))

◆ MA_BIT_MASK

#define MA_BIT_MASK (   n)    (MA_BIT(n) - 1)

◆ MA_BIT_SET

#define MA_BIT_SET (   x,
 
)    ((x) |= MA_BIT(n))

◆ MA_BIT_SET_MASK

#define MA_BIT_SET_MASK (   x,
  n,
 
)    ((x) |= ((m) << (n)))

◆ MA_BIT_SET_MASKED

#define MA_BIT_SET_MASKED (   x,
  n,
 
)    ((x) |= ((m) & (MA_BIT_MASK(n) << (n))))

◆ MA_CLIP

#define MA_CLIP (   x,
  a,
 
)    ((x) < (a) ? (a) : ((x) > (b) ? (b) : (x)))

◆ MA_CONCAT

#define MA_CONCAT (   a,
 
)    a##b

◆ MA_CONCAT3

#define MA_CONCAT3 (   a,
  b,
 
)    a##b##c

◆ MA_EXPORT

#define MA_EXPORT   __attribute__((visibility("default")))

◆ MA_IS_ALIGNED

#define MA_IS_ALIGNED (   x,
 
)    (((x) & ((typeof(x))(a) - 1)) == 0)

◆ MA_IS_ALIGNED_DOWN

#define MA_IS_ALIGNED_DOWN (   x,
 
)    (((x) & ((typeof(x))(a) - 1)) == 0)

◆ MA_IS_ALIGNED_UP

#define MA_IS_ALIGNED_UP (   x,
 
)    (((x) & ((typeof(x))(a) - 1)) == 0)

◆ MA_LITTLE_ENDIAN

#define MA_LITTLE_ENDIAN   (0x12u)

◆ MA_MAX

#define MA_MAX (   a,
 
)    ((a) > (b) ? (a) : (b))

◆ MA_MIN

#define MA_MIN (   a,
 
)    ((a) < (b) ? (a) : (b))

◆ MA_STATIC_ASSERT

#define MA_STATIC_ASSERT (   const_expr,
  _mess 
)     enum { MA_CONCAT(_verify_static_, _MA_COUNTER_) = 1 / (!!(const_expr)) }

◆ MA_STRINGIFY

#define MA_STRINGIFY (   s)    #s

◆ MA_STRINGIZE

#define MA_STRINGIZE (   s)    MA_STRINGIFY(s)

◆ MA_UNUSED

#define MA_UNUSED (   x)    (void)(x)