eis/eqpalg/.do_not_use/distribution/box_cox.cc

22 lines
441 B
C++

#include <eqpalg/distribution/box_cox.h>
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