Closed bob-carpenter closed 9 years ago
As of Stan 2.4, the code in agrad/fwd has dependencies into agrad/rev and the finite diff code is spread all over.
agrad/fwd
agrad/rev
What I propose is creating four directories under agrad:
finite-diff
fwd
rev
fwd-rev
and moving pieces into the appropriate place to remove the spaghetti dependencies.
src/stan/agrad/fwd/matrix/typedefs.hpp
this was fixed with #1222.
As of Stan 2.4, the code in
agrad/fwd
has dependencies intoagrad/rev
and the finite diff code is spread all over.What I propose is creating four directories under agrad:
finite-diff
: for finite difference codefwd
: forward mode only, no dependency on reverse moderev
: reverse mode only, no dependency on forward modefwd-rev
: mixed code that depends on both fwd and revand moving pieces into the appropriate place to remove the spaghetti dependencies.
src/stan/agrad/fwd/matrix/typedefs.hpp
includes rev