batmat 0.0.17
Batched linear algebra routines
Loading...
Searching...
No Matches
assume.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <batmat/config.hpp>
4#include <guanaqo/assume.hpp>
5
6/// @def BATMAT_ASSUME(x)
7/// Invokes undefined behavior if the expression @p x does not evaluate to true.
8/// @throws std::logic_error in debug mode (when `NDEBUG` is not defined).
9
10#if defined(NDEBUG) && !BATMAT_VERIFY_ASSUMPTIONS
11#define BATMAT_ASSUME(x) GUANAQO_ASSUME(x)
12#endif // defined(NDEBUG) && !BATMAT_VERIFY_ASSUMPTIONS
13
14#define BATMAT_ASSERT(x) GUANAQO_ASSERT(x)
15
16#ifndef BATMAT_ASSUME
17#define BATMAT_ASSUME(x) BATMAT_ASSERT(x)
18#endif