8 #ifndef __REMOVE_LOG_DERIV_H 9 #define __REMOVE_LOG_DERIV_H 11 #include "../Core/SharedLibraryExportMacros.h" 12 #include "../Core/LogDerivatives.h" 27 {
return __log_deriv->
order(deriv_order);}
37 __log_deriv(log_deriv),
38 __delete_deriv(delete_deriv)
44 {
if(__delete_deriv)
delete __log_deriv;}
virtual double order(unsigned deriv_order=1) const =0
Derivative of the given order of the function with respect to its argument.
Calculate dy/dx given dy/dx, dy/dln(x), dln(y)/dx or dln(y)/dln(x).
A class representing arbitrary order derivatives of a function.
RemoveLogDeriv(double age, bool log_quantity, const FunctionDerivatives *log_deriv, bool delete_deriv)
Create a linear derivative from a log one.
bool __delete_deriv
Whether to delete the underlying log-derivative on destruction.
Return dy/dx given dy/dln(x), dln(y)/dx or dln(y)/dln(x).
double calc_deriv(unsigned deriv_order) const
Returns the deriv_order-th derivative of the quantity.
const FunctionDerivatives * __log_deriv
The original logarithmic derivative.
~RemoveLogDeriv()
Deletes the input logarithmic derivative if so specified on creation.