44 lines
1.1 KiB
Java
44 lines
1.1 KiB
Java
package jscl.math.function;
|
|
|
|
import jscl.math.Generic;
|
|
import jscl.math.operator.*;
|
|
import org.solovyev.common.math.AbstractMathRegistry;
|
|
|
|
import javax.annotation.Nonnull;
|
|
import javax.annotation.Nullable;
|
|
|
|
/**
|
|
* User: serso
|
|
* Date: 10/31/11
|
|
* Time: 10:56 PM
|
|
*/
|
|
public class PostfixFunctionsRegistry extends AbstractMathRegistry<Operator> {
|
|
|
|
private final static PostfixFunctionsRegistry instance = new PostfixFunctionsRegistry();
|
|
|
|
static {
|
|
instance.add(new DoubleFactorial(null));
|
|
instance.add(new Factorial(null));
|
|
instance.add(new Degree(null));
|
|
instance.add(new Percent(null, null));
|
|
}
|
|
|
|
@Nonnull
|
|
public static PostfixFunctionsRegistry getInstance() {
|
|
return instance;
|
|
}
|
|
|
|
@Nullable
|
|
public Operator get(@Nonnull String name, @Nonnull Generic[] parameters) {
|
|
final Operator operator = super.get(name);
|
|
return operator == null ? null : operator.newInstance(parameters);
|
|
}
|
|
|
|
@Override
|
|
public Operator get(@Nonnull String name) {
|
|
final Operator operator = super.get(name);
|
|
return operator == null ? null : FunctionsRegistry.copy(operator);
|
|
}
|
|
|
|
}
|