Adaptor implementation is based on original packing & unpacking of theta & x_r, and it doesn't consider the possibility when base functor could be using x_r to pass in some of the ODE parameters.
Example
The following one-cpt functor passes absorption rate ka through real data argument x_r
bash-3.2$ test/unit/math/torsten/debug_test
Running main() from lib/gtest_1.8.1/src/gtest_main.cc
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from TorstenOneCptTest
[ RUN ] TorstenOneCptTest.multiple_bolus
./test/unit/math/torsten/test_util.hpp:156: Failure
The difference between y1_i and y2_i is 259.18179999999995, which exceeds std::max(abs(y1_i), abs(y2_i)) * rtol, where
y1_i evaluates to 1000,
y2_i evaluates to 740.81820000000005, and
std::max(abs(y1_i), abs(y2_i)) * rtol evaluates to 0.01.
./test/unit/math/torsten/test_util.hpp:156: Failure
The difference between y1_i and y2_i is 254.97489999999999, which exceeds std::max(abs(y1_i), abs(y2_i)) * rtol, where
y1_i evaluates to 0,
y2_i evaluates to 254.97489999999999, and
std::max(abs(y1_i), abs(y2_i)) * rtol evaluates to 0.002549749.
Description
Adaptor implementation is based on original packing & unpacking of
theta
&x_r
, and it doesn't consider the possibility when base functor could be usingx_r
to pass in some of the ODE parameters.Example
The following one-cpt functor passes absorption rate
ka
through real data argumentx_r
and it triggers error in one-cpt unit test
as it gives
Expected Output
pass test
Current Version:
v0.87.1