Skip to content

Commit d074ecc

Browse files
authored
Clean up static asserts (#2753)
in `src/solver_idas.cpp`
1 parent 53f6fb3 commit d074ecc

File tree

1 file changed

+18
-47
lines changed

1 file changed

+18
-47
lines changed

src/solver_idas.cpp

Lines changed: 18 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -25,54 +25,25 @@ static_assert((int)InternalSensitivityMethod::staggered == IDA_STAGGERED, "");
2525
static_assert((int)InterpolationType::hermite == IDA_HERMITE, "");
2626
static_assert((int)InterpolationType::polynomial == IDA_POLYNOMIAL, "");
2727

28-
static_assert(AMICI_ROOT_RETURN == IDA_ROOT_RETURN, "");
29-
30-
static_assert(
31-
amici::AMICI_SUCCESS == IDA_SUCCESS, "AMICI_SUCCESS != IDA_SUCCESS"
32-
);
33-
static_assert(
34-
amici::AMICI_DATA_RETURN == IDA_TSTOP_RETURN,
35-
"AMICI_DATA_RETURN != IDA_TSTOP_RETURN"
36-
);
37-
static_assert(
38-
amici::AMICI_ROOT_RETURN == IDA_ROOT_RETURN,
39-
"AMICI_ROOT_RETURN != IDA_ROOT_RETURN"
40-
);
41-
static_assert(
42-
amici::AMICI_ILL_INPUT == IDA_ILL_INPUT, "AMICI_ILL_INPUT != IDA_ILL_INPUT"
43-
);
44-
static_assert(amici::AMICI_NORMAL == IDA_NORMAL, "AMICI_NORMAL != IDA_NORMAL");
45-
static_assert(
46-
amici::AMICI_ONE_STEP == IDA_ONE_STEP, "AMICI_ONE_STEP != IDA_ONE_STEP"
47-
);
48-
static_assert(
49-
amici::AMICI_TOO_MUCH_ACC == IDA_TOO_MUCH_ACC,
50-
"AMICI_TOO_MUCH_ACC != IDA_TOO_MUCH_ACC"
51-
);
52-
static_assert(
53-
amici::AMICI_TOO_MUCH_WORK == IDA_TOO_MUCH_WORK,
54-
"AMICI_TOO_MUCH_WORK != IDA_TOO_MUCH_WORK"
55-
);
56-
static_assert(
57-
amici::AMICI_ERR_FAILURE == IDA_ERR_FAIL,
58-
"AMICI_ERR_FAILURE != IDA_ERR_FAIL"
59-
);
60-
static_assert(
61-
amici::AMICI_CONV_FAILURE == IDA_CONV_FAIL,
62-
"AMICI_CONV_FAILURE != IDA_CONV_FAIL"
63-
);
64-
static_assert(
65-
amici::AMICI_LSETUP_FAIL == IDA_LSETUP_FAIL,
66-
"AMICI_LSETUP_FAIL != IDA_LSETUP_FAIL"
67-
);
28+
#define STATIC_ASSERT_EQUAL(amici_constant, ida_constant) \
29+
static_assert( \
30+
amici_constant == ida_constant, #amici_constant " != " #ida_constant \
31+
)
32+
33+
STATIC_ASSERT_EQUAL(amici::AMICI_SUCCESS, IDA_SUCCESS);
34+
STATIC_ASSERT_EQUAL(amici::AMICI_ROOT_RETURN, IDA_ROOT_RETURN);
35+
STATIC_ASSERT_EQUAL(amici::AMICI_DATA_RETURN, IDA_TSTOP_RETURN);
36+
STATIC_ASSERT_EQUAL(amici::AMICI_ILL_INPUT, IDA_ILL_INPUT);
37+
STATIC_ASSERT_EQUAL(amici::AMICI_NORMAL, IDA_NORMAL);
38+
STATIC_ASSERT_EQUAL(amici::AMICI_ONE_STEP, IDA_ONE_STEP);
39+
STATIC_ASSERT_EQUAL(amici::AMICI_TOO_MUCH_ACC, IDA_TOO_MUCH_ACC);
40+
STATIC_ASSERT_EQUAL(amici::AMICI_TOO_MUCH_WORK, IDA_TOO_MUCH_WORK);
41+
STATIC_ASSERT_EQUAL(amici::AMICI_ERR_FAILURE, IDA_ERR_FAIL);
42+
STATIC_ASSERT_EQUAL(amici::AMICI_CONV_FAILURE, IDA_CONV_FAIL);
43+
STATIC_ASSERT_EQUAL(amici::AMICI_LSETUP_FAIL, IDA_LSETUP_FAIL);
6844
// This does not match the CVODE code, we need separate return values
69-
static_assert(
70-
amici::AMICI_IDAS_CONSTR_FAIL == IDA_CONSTR_FAIL,
71-
"AMICI_IDAS_CONSTR_FAIL != IDA_CONSTR_FAIL"
72-
);
73-
static_assert(
74-
amici::AMICI_WARNING == IDA_WARNING, "AMICI_WARNING != IDA_WARNING"
75-
);
45+
STATIC_ASSERT_EQUAL(amici::AMICI_IDAS_CONSTR_FAIL, IDA_CONSTR_FAIL);
46+
STATIC_ASSERT_EQUAL(amici::AMICI_WARNING, IDA_WARNING);
7647

7748
/*
7849
* The following static members are callback function to IDAS.

0 commit comments

Comments
 (0)