7#ifndef GOOSEEPM_CONFIG_H
8#define GOOSEEPM_CONFIG_H
16#define GOOSEEPM_WARNING_IMPL(message, file, line, function) \
17 std::cout << std::string(file) + ":" + std::to_string(line) + " (" + std::string(function) + \
18 ")" + ": " message ") \n\t";
20#define GOOSEEPM_ASSERT_IMPL(expr, assertion, file, line, function) \
23 std::string(file) + ":" + std::to_string(line) + " (" + std::string(function) + ")" + \
24 ": assertion failed (" #expr ") \n\t" \
49#ifdef GOOSEEPM_ENABLE_ASSERT
50#define GOOSEEPM_ASSERT(expr, assertion) \
51 GOOSEEPM_ASSERT_IMPL(expr, assertion, __FILE__, __LINE__, __FUNCTION__)
53#define GOOSEEPM_ASSERT(expr, assertion)
63#define GOOSEEPM_REQUIRE(expr, assertion) \
64 GOOSEEPM_ASSERT_IMPL(expr, assertion, __FILE__, __LINE__, __FUNCTION__)
74#define GOOSEEPM_WIP_ASSERT(expr, assertion) \
75 GOOSEEPM_ASSERT_IMPL(expr, assertion, __FILE__, __LINE__, __FUNCTION__)
86#ifdef GOOSEEPM_DISABLE_WARNING
87#define GOOSEEPM_WARNING(message)
89#define GOOSEEPM_WARNING(message) GOOSEEPM_WARNING_IMPL(message, __FILE__, __LINE__, __FUNCTION__)
101#ifdef GOOSEEPM_ENABLE_WARNING_PYTHON
102#define GOOSEEPM_WARNING_PYTHON(message) \
103 GOOSEEPM_WARNING_IMPL(message, __FILE__, __LINE__, __FUNCTION__)
105#define GOOSEEPM_WARNING_PYTHON(message)
119namespace array_type {
121#ifdef GOOSEEPM_USE_XTENSOR_PYTHON
126template <
typename T,
size_t N>
127using tensor = xt::pytensor<T, N>;
134template <
typename T,
size_t N>
xt::xtensor< T, N > tensor
Fixed (static) rank array.