Work-in-progress on refactoring everything to be properly templated for AD. Just hit a huge show-stopper regarding how to select the paramType template parameters to RandVarFromFunctions during template copy...
Whooole bunch of bug fixes. This thing almost works now. Of course, I still need to check what happens when I switch AD on...
Fixed one remaining issue with traces and not having a return value.
Uncommenting all tests again.
Fixed an outstanding issue with copying parameters between differently type-parameterized random variables.
AD-enabled stuff builds fine now. The problem is that it builds *for every computation* due to the way virtual templates work. I need to find a way to change this behavior...
Uncommenting all the tests now that virtual templates work again.
Removed calls to virtual template vtable initializers (which no longer exist and are simple handled by __initvtable).
Removed some code from RandVarFromCallsite that became unnecessary.
Excellent, it looks like parameterizing on dual numbers is fine.
Work in progress HMC kernel.
Basic working HMC implementation (w00t)
Fixed a bug with HMC and tracking the correct positions/gradient after a rejection.
Setting the logprob after running traceUpdate without factor eval is now correct (previously, it was wrong for InterpolationTrace, since it would not set the sub-trace logprobs).
Got rid of an unnecessary gradient evaluation!
Initial step size search for HMC kernel.
Automatic step size adaptation for HMC.