package gov.nasa.ial.mde.solver.classifier;
import gov.nasa.ial.mde.solver.SolvedCosineFunction;
import gov.nasa.ial.mde.solver.SolvedGraph;
import gov.nasa.ial.mde.solver.SolvedSineFunction;
import gov.nasa.ial.mde.solver.SolvedTangentFunction;
import gov.nasa.ial.mde.solver.SolvedTrigFunction;
import gov.nasa.ial.mde.solver.symbolic.AnalyzedEquation;
import java.util.ArrayList;
public class TrigClassifier extends MDEClassifier {
private boolean hasSin = false,
hasCos = false,
hasTan = false,
hasMultiples =false;
//hasX = false;
public ArrayList<String> arr;
//private Polynomial lhs =null;
/*public TrigClassifier() {
super();
}*/
/*public TrigClassifier(Polynomial lhs) {
this.lhs=lhs;
}*/
public SolvedGraph getFeatures(AnalyzedEquation analyzedEquation) {
detectTrig(analyzedEquation);
SolvedGraph features;
if(hasMultiples)
{
}else if(hasSin)
{
features = new SolvedSineFunction(analyzedEquation);
return features;
}else if(hasCos)
{
features = new SolvedCosineFunction(analyzedEquation);
return features;
}else if(hasTan)
{
features = new SolvedTangentFunction(analyzedEquation);
return features;
}
features = new SolvedTrigFunction(analyzedEquation);
return features;
}
private void detectTrig(AnalyzedEquation analyzedEquation) {
String equat = analyzedEquation.getInputEquation();
hasSin = equat.contains("sin");
hasCos = equat.contains("cos");
hasTan = equat.contains("tan");
if((hasSin && hasCos)||(hasSin && hasTan)||(hasCos && hasTan)){
hasMultiples=true;
}
}
}