Skip to content
Snippets Groups Projects
Verified Commit 77a41d1a authored by Joseph Mirabel's avatar Joseph Mirabel Committed by Justin Carpentier
Browse files

Add macro PINOCCHIO_STATIC_ASSERT(condition,message)

parent 1908db84
No related branches found
No related tags found
No related merge requests found
......@@ -50,6 +50,12 @@ namespace se3
THIS_METHOD_IS_ONLY_FOR_MATRICES_OF_A_SPECIFIC_SIZE); \
assert(M.rows()==nrows && M.cols()==ncols);
/// Static assertion.
/// \param condition a boolean convertible expression
/// \param msg a valid C++ variable name.
#define PINOCCHIO_STATIC_ASSERT(condition,msg) \
{ int msg[(condition) ? 1 : -1]; /*avoid unused-variable warning*/ (void) msg; }
namespace se3
{
namespace helper
......
......@@ -55,6 +55,7 @@ namespace se3 {
const Eigen::MatrixBase<Tangent_t> & v,
const Eigen::MatrixBase<JacobianOut_t>& J) const
{
PINOCCHIO_STATIC_ASSERT(arg==darg0||arg==darg1, arg_SHOULD_BE_qarg0_OR_qarg1);
switch (arg) {
case darg0:
dIntegrate_dq(q,v,J); return;
......@@ -187,8 +188,7 @@ namespace se3 {
EIGEN_STATIC_ASSERT_SAME_VECTOR_SIZE(ConfigL_t, ConfigVector_t);
EIGEN_STATIC_ASSERT_SAME_VECTOR_SIZE(ConfigR_t, ConfigVector_t);
EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(JacobianOut_t, JacobianMatrix_t);
int CHECK_THAT_iVar_IS_ZERO_OR_ONE[(iVar==0||iVar==1) ? 1 : -1];
(void) CHECK_THAT_iVar_IS_ZERO_OR_ONE;
PINOCCHIO_STATIC_ASSERT(arg==darg0||arg==darg1, arg_SHOULD_BE_qarg0_OR_qarg1);
derived().template dDifference_impl<arg> (q0, q1, J);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment