package symjava.numeric; import symjava.bytecode.BytecodeFunc; import symjava.symbolic.Func; import symjava.symbolic.Integrate; /** * Numerical Integration * */ public class NumInt { Integrate integrate; BytecodeFunc byteFunc; public NumInt(Integrate integrate) { this.integrate = integrate; if(this.integrate.integrand instanceof Func) { Func f = (Func) this.integrate.integrand; byteFunc = f.toBytecodeFunc(); } else { Func f = new Func( this.getClass().getSimpleName()+java.util.UUID.randomUUID().toString().replaceAll("-", ""), this.integrate.integrand); byteFunc = f.toBytecodeFunc(); } } public double eval() { double[][] pnts = integrate.domain.getIntWeightAndPoints(3); int dim = integrate.domain.getDim(); double sum = 0.0; for(int k=0; k