Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

replace EigenDenseBaseAddons with traits metaprogram #1065

Closed
6 tasks
bob-carpenter opened this issue Oct 3, 2014 · 0 comments
Closed
6 tasks

replace EigenDenseBaseAddons with traits metaprogram #1065

bob-carpenter opened this issue Oct 3, 2014 · 0 comments
Assignees
Milestone

Comments

@bob-carpenter
Copy link
Contributor

We currently use src/math/matrix/EigenDenseBaseAddons.h to define typedefs for the value type and size types of matrices. This is undesirable because it introduces an include-order dependency requiring this .h file to be included before any use of an Eigen matrix or vector.

The header src/math/matrix/Eigen.hpp then includes the dense base addons and all of Eigen. This is then included to make sure the dependency order of the dense base addons are used.

These can be redefined as traits metaprograms in meta.

  • define traits metaprogram to pull out
    • size type from Eigen and std::vector types
    • value type from Eigen and std::vector types (probably base cases would make sense, too)
  • replace all includes of Eigen.hpp and EigenDenseBaseAddons.h
    • replace uses of Eigen.hpp with relevant headers for Eigen in an include-what-you-use way
    • replace uses of the new typedefs with the metaprogram where necessary
@bob-carpenter bob-carpenter self-assigned this Oct 7, 2014
@bob-carpenter bob-carpenter added this to the v2.5.0++ milestone Oct 7, 2014
@syclik syclik closed this as completed in c0757a5 Oct 16, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant