Stan development repository. The master branch contains the current release. The develop branch contains the latest stable development. See the Developer Process Wiki for details.
The meta/traits.hpp file brings in agrad::var and agrad::fvar, which tangles up our math lib with our autodiff lib.
Dependencies should go only one way, from stan::agrad to stan::math, not vice-versa.
[ ] separate meta pieces that depend on var out into stan/agrad/rev/meta/traits.hpp
[ ] add new stan/agrad/rev/meta.hpp, include the new meta pieces, and include above in rev.hpp
[ ] separate meta pieces that depend on fvar out into stan/agrad/fwd/meta/traits.hpp
[ ] add new stan/agrad/rev/meta.hpp, include new meta pieces, include above in fwd.hpp
[ ] make sure stan/agrad/fwd.hpp gets included AFTER stan/agrad/rev.hpp so the dependencies will work out
Do we want to add a new stan/agrad/mixed directory for things that mix forward and reverse. Right now, that includes autodiff.hpp, which is just defined in stan/agrad/autodiff.hpp. But it would also include any kind of traits or other program that needed to mix forward and reverse mode.
The meta/traits.hpp file brings in agrad::var and agrad::fvar, which tangles up our math lib with our autodiff lib.
Dependencies should go only one way, from stan::agrad to stan::math, not vice-versa.
Do we want to add a new stan/agrad/mixed directory for things that mix forward and reverse. Right now, that includes autodiff.hpp, which is just defined in stan/agrad/autodiff.hpp. But it would also include any kind of traits or other program that needed to mix forward and reverse mode.