autodiff/cppad/utils/static-if.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2019-2020 INRIA
3 //
4 
5 #ifndef __pinocchio_autodiff_cppad_utils_static_if_hpp__
6 #define __pinocchio_autodiff_cppad_utils_static_if_hpp__
7 
8 #include "pinocchio/utils/static-if.hpp"
9 
10 namespace pinocchio
11 {
12  namespace internal
13  {
14  template<typename Scalar, typename ThenType, typename ElseType>
15  struct if_then_else_impl<CppAD::AD<Scalar>,CppAD::AD<Scalar>,ThenType,ElseType>
16  {
18 
19  static inline ReturnType run(const ComparisonOperators op,
20  const CppAD::AD<Scalar> & lhs_value,
21  const CppAD::AD<Scalar> & rhs_value,
22  const ThenType & then_value,
23  const ElseType & else_value)
24  {
25  switch(op)
26  {
27  case LT:
28  return ::CppAD::CondExpLt<Scalar>(lhs_value,rhs_value,
29  then_value,else_value);
30  case LE:
31  return ::CppAD::CondExpLe<Scalar>(lhs_value,rhs_value,
32  then_value,else_value);
33  case EQ:
34  return ::CppAD::CondExpEq<Scalar>(lhs_value,rhs_value,
35  then_value,else_value);
36  case GE:
37  return ::CppAD::CondExpGe<Scalar>(lhs_value,rhs_value,
38  then_value,else_value);
39  case GT:
40  return ::CppAD::CondExpGt<Scalar>(lhs_value,rhs_value,
41  then_value,else_value);
42  }
43  }
44  };
45  } // namespace internal
46 } // namespace pinocchio
47 
48 #endif // ifndef __pinocchio_autodiff_cppad_utils_static_if_hpp__
49 
static ReturnType run(const ComparisonOperators op, const CppAD::AD< Scalar > &lhs_value, const CppAD::AD< Scalar > &rhs_value, const ThenType &then_value, const ElseType &else_value)
Main pinocchio namespace.
Definition: timings.cpp:28


pinocchio
Author(s):
autogenerated on Fri Jun 23 2023 02:38:32