/*
 * 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.