[
https://issues.apache.org/jira/browse/NUMBERS-167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17426725#comment-17426725
]
Gilles Sadowski commented on NUMBERS-167:
-----------------------------------------
bq. call either P or Q
{code}
public final class RegularizedGamma {
// ...
public enum RG {
P,
Q
}
public static Function<RG, DoubleUnaryOperator> withArgumentA(double a) {
final ArgumentA argA = ArgumentA.of(a);
return rg -> {
final DoubleUnaryOperator func;
switch (rg) {
case P:
func = x -> P.value(argA, x);
break;
case Q:
func = x -> Q.value(argA, x);
break;
default:
throw new IllegalStateException(); // Should never happen.
}
return func;
};
}
// ...
{code}
Like the above?
Then, shall we move the new functions inside the {{RG}} enum?
> RegularizedGamma.P with precomputed LogGamma value
> --------------------------------------------------
>
> Key: NUMBERS-167
> URL: https://issues.apache.org/jira/browse/NUMBERS-167
> Project: Commons Numbers
> Issue Type: Wish
> Components: gamma
> Reporter: Gilles Sadowski
> Priority: Minor
> Fix For: 1.1
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> We have
> {code:java}
> double v = RegularizedGamma.P.value(a, x);
> {code}
> where method {{value}} internally calls {{LogGamma.value(a)}}.
> There is a use-case for
> {code:java}
> double logGammaA = LogGamma.value(a);
> double v = RegularizedGamma.P.value(a, x, logGammaA);
> {code}
> for when the user varies {{x}} but not {{a}}.
> Method name TBD: Another overload of {{value}} may be confusing (?).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)