gunshi-project-ss/src/main/java/com/gunshi/project/hsz/util/BigdecimalUtil.java

48 lines
1.3 KiB
Java
Raw Normal View History

2025-07-17 15:26:39 +08:00
package com.gunshi.project.hsz.util;
2024-11-07 14:54:41 +08:00
2024-11-11 18:07:43 +08:00
import org.apache.commons.math3.distribution.GammaDistribution;
2024-11-07 14:54:41 +08:00
import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;
/**
* @author cxw
* @description
* @classname BigdecimalUtil.java
* @create 2024-11-06, , 10:33:41
*/
public class BigdecimalUtil {
/**
* @description:
* @param base
* @param exponent
* @return: java.math.BigDecimal
* @auther: cxw
* @date: 2024-11-06, , 10:34:47
*/
public static BigDecimal bigDecimalExponentiation(BigDecimal base, double exponent) {
BigDecimal result = BigDecimal.valueOf(Math.pow(base.doubleValue(), exponent)).round(new MathContext(10, RoundingMode.HALF_UP));
return result;
}
/**
* @description: x
* @param x
* @return: java.math.BigDecimal
* @auther: cxw
* @date: 2024-11-06, , 11:31:24
*/
2024-11-11 18:07:43 +08:00
public static double gammaDist(double x, double alpha, double beta, boolean cumulative) {
GammaDistribution gammaDist = new GammaDistribution(alpha, 1/beta);
if (cumulative) {
return gammaDist.cumulativeProbability(x);
} else {
return gammaDist.density(x);
}
2024-11-07 14:54:41 +08:00
}
}