package mjo.core.data;
import edu.hws.jcm.awt.ExpressionInput;
import edu.hws.jcm.data.Function;
import edu.hws.jcm.data.Parser;
import edu.hws.jcm.data.Variable;
/**
* makoto 2010/05/18
*
*/
public class MjoFunctionSeries extends MjoXYSeries2 {
private static final long serialVersionUID = 5937075174730430299L;
//FunctiongetVal
private static final double [] arrayForCalc = new double [1];
//
private Function function;
private String funcName;
public MjoFunctionSeries(String funcName, Comparable key){
super(key);
setFunction(funcName);
setKey(funcName);
}
public String getFunctionName(){
return funcName;
}
//
public void setFunction(String funcName){
this.funcName = funcName;
//
String modified = funcName.replaceAll("inv_dB\\(", "10^(0.1*");
String modified2 = modified.replaceAll("dB\\(", "10*log10(");
Parser parser = new Parser();
Variable x = new Variable("x");
parser.add(x);
ExpressionInput input = new ExpressionInput(modified2, parser);
function = input.getFunction(x);
}
//
public boolean reload(){
return false;
}
public double getValue(double x){
arrayForCalc[0] = x;
return function.getVal(arrayForCalc);
}
//IndexOutOfBound
public int getItemCount(){
return 0;
}
}
|