#include namespace distribution { double box_cox(double y, double c, double lambda) { if (lambda == 0) { return std::log(y + c); } else { return (pow(y + c, lambda) - 1.0) / lambda; } } double box_cox_reverse(double y, double c, double lambda) { if (lambda == 0) { return std::exp(y) - c; } else { return pow((1 + lambda * y), lambda / 1) - c; } } } // namespace distribution