9#ifndef CROCODDYL_UTILS_SCALAR_HPP_
10#define CROCODDYL_UTILS_SCALAR_HPP_
14#include "crocoddyl/core/utils/conversions.hpp"
19template <
typename Scalar>
24#ifdef CROCODDYL_WITH_CODEGEN
26template <
typename Scalar>
28 typedef typename ScalarBaseType<Scalar>::type type;
31template <
typename Scalar>
32struct ScalarBaseType<CppAD::cg::CG<Scalar>> {
33 typedef typename ScalarBaseType<Scalar>::type type;
39template <
typename Scalar>
40Scalar ScaleNumerics(
double base_value,
double float_multiplier = 1e4) {
41 typedef typename ScalarBaseType<Scalar>::type Base;
42 return std::is_same<Base, float>::value
43 ?
static_cast<Scalar
>(base_value * float_multiplier)
44 : static_cast<Scalar>(base_value);