#include <cmath>
#ifdef _WIN32
#define AHS_EXPORT __declspec(dllexport)
#else
#define AHS_EXPORT
#endif
extern "C" AHS_EXPORT int ahs_ou_moments(double a,double sigma,double dt,double* decay,double* variance){
 if(!decay || !variance || !std::isfinite(a) || !std::isfinite(sigma) || !std::isfinite(dt) || a<=0 || sigma<0 || dt<0) return 1;
 *decay=std::exp(-a*dt); *variance=sigma*sigma*(-std::expm1(-2*a*dt))/(2*a); return 0;
}
