Skip to content
  • Rohan Budhiraja's avatar
    Add codegen/autodiff support for eigen coeff-wise min and max operations (#1234) · a77d983b
    Rohan Budhiraja authored
    * autodiff/cppad: fix eigen min check
    
    * codegen/cppadcg: fix call to eigen min and max functions
    
    * autodiff/cppad.hpp: add eigen::internal::pmin specialization
    
    * codegn/cppadcg: eigen::internal::pmin/pmax specialization
    
    * autodiff/cppad/minmax: create a file to deal with coeff wise min/max operation in eigen.
    This file needs to be loaded before Eigen/Core is called, to load the correct environment for autodiff/codegen.
    Otherwise, std::min/max is read by the compiler.
    
    * autodiff/casadi: fix header
    
    * traits.hpp: create traits file, which is independent from eigen
    
    * codegen/cppadcg, autodiff/cppad.hpp: include minmax.hpp
    
    * math/fwd: use traits.hpp instead of fwd.hpp. avoids loading eigen
    
    * utils/static-if: use traits.hpp to avoid using eigen
    
    * include pinocchio/fwd.hpp header
    	modified:   src/multibody/joint/joint-free-flyer.hpp
    	modified:   src/multibody/joint/joint-revolute-unbounded.hpp
    	modified:   src/spatial/inertia.hpp
    
    * add boost-mpl-container-limit header in codegen and autodiff files
    	modified:   src/autodiff/cppad.hpp
    	modified:   src/codegen/cppadcg.hpp
    
    * add pinocchio/fwd.hpp header where missing
    
    * add copyright license
    
    * fwd.hpp: move enums to fwd.hpp
    
    * [unittest/cppad-basic] add testing for cppad support for eigen min and max
    
    * autodiff/cppad: fix inclusion order of minmax
    
    * src, unittest: fix header inclusion order.
    
    * cppad.hpp: add min/max computation in cppad. simplify implementation
    a77d983b