/*
* JELCompiledExpression.java
*
* Created on September 4, 2002, 6:15 AM
*/
package hep.aida.ref.function;
import gnu.jel.CompiledExpression;
import gnu.jel.DVMap;
import hep.aida.ref.jel.JELLibraryFactory;
import java.util.StringTokenizer;
/**
*
* @author serbo
*/
// Convenience wrapper around the JEL's CompiledExpression
public class JELCompiledExpression {
private String expression;
private String parsedExpression;
private int dim;
private int nPar;
private String[] parNames;
private CompiledExpression compExpression;
private ValueProvider pro;
private Object[] context;
private Resolver res;
public JELCompiledExpression(int dim, int nPar, String expr, String[] pNames) {
//System.out.println("JELCompiledExpression:: expr = "+expr+", nVar = "+dim+", nPar = "+nPar + ", pNames = "+pNames[0]+" "+pNames[1]+" "+pNames[2]);
this.dim = dim;
this.nPar = nPar;
expression = expr;
// Set parameter names
setParameterNames(pNames);
// Create a compiled expression
parse();
compile();
}
public void setParameterNames(String[] pNames) {
if (pNames == null) {
throw new IllegalArgumentException("Can not set parameter names to a null");
} else if (nPar != pNames.length) {
throw new IllegalArgumentException("Number of parameters ("+nPar+
") is different from number of supplied parameter names ("+pNames.length+")");
}
parNames = new String[pNames.length];
for (int i=0; i
Ads help maintain this website.