AI Engine API User Guide (AIE-API) 2025.1
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
utils.hpp File Reference
#include <array>
#include <cassert>
#include <tuple>
#include <type_traits>
#include "config.hpp"

Namespaces

namespace  aie
 Base namespace for AIE operations and types.
 

Macros

#define __AIE_API_DETAIL_UTILS__HPP__
 
#define REQUIRES(a)
 
#define REQUIRES_CONSTANT(a)
 
#define REQUIRES_CONSTANT_MSG(a, m)
 
#define REQUIRES_MSG(a, m)
 
#define RUNTIME_ASSERT(e, m)
 
#define RUNTIME_ASSERT_NO_ASSUME(e, m)
 
#define STATIC_ASSERT_CONSTANT(e, m)
 
#define STATIC_ASSERT_CONSTANT_EXPRESSION(e, m)
 
#define STRINGIFY(a)
 
#define STRINGIFY_(a)
 
#define UNREACHABLE_MSG(m)
 

Macro Definition Documentation

◆ __AIE_API_DETAIL_UTILS__HPP__

#define __AIE_API_DETAIL_UTILS__HPP__

◆ REQUIRES

#define REQUIRES ( a)
Value:
REQUIRES_MSG(a, "Requirement " STRINGIFY(a) " not met")
#define STRINGIFY(a)
Definition detail/utils.hpp:718
#define REQUIRES_MSG(a, m)
Definition detail/utils.hpp:731

◆ REQUIRES_CONSTANT

#define REQUIRES_CONSTANT ( a)

◆ REQUIRES_CONSTANT_MSG

#define REQUIRES_CONSTANT_MSG ( a,
m )

◆ REQUIRES_MSG

#define REQUIRES_MSG ( a,
m )
Value:
#define RUNTIME_ASSERT(e, m)
Definition detail/utils.hpp:727

◆ RUNTIME_ASSERT

#define RUNTIME_ASSERT ( e,
m )
Value:
assert(e && m)

◆ RUNTIME_ASSERT_NO_ASSUME

#define RUNTIME_ASSERT_NO_ASSUME ( e,
m )
Value:
assert(e && m)

◆ STATIC_ASSERT_CONSTANT

#define STATIC_ASSERT_CONSTANT ( e,
m )

◆ STATIC_ASSERT_CONSTANT_EXPRESSION

#define STATIC_ASSERT_CONSTANT_EXPRESSION ( e,
m )

◆ STRINGIFY

#define STRINGIFY ( a)
Value:
#define STRINGIFY_(a)
Definition detail/utils.hpp:717

◆ STRINGIFY_

#define STRINGIFY_ ( a)
Value:
#a

◆ UNREACHABLE_MSG

#define UNREACHABLE_MSG ( m)
Value:
do { \
assert(false && "Unreachable; " m); \
__builtin_unreachable(); \
} while (0)