JSci.maths.wavelet.MultiscaleFunction Maven / Gradle / Ivy
package JSci.maths.wavelet;
/*****************************************
* Abstract encapsulation mostly meant for
* wavelet functions (dyadic case).
* @author Daniel Lemire
*****************************************/
public abstract class MultiscaleFunction implements Cloneable {
public abstract int dimension(int jfin);
public abstract int dimension();
/********************************************
* Return a copy of the object
*********************************************/
public Object clone() {
try {
MultiscaleFunction mf=(MultiscaleFunction) super.clone();
return(mf);
} catch (CloneNotSupportedException cnse) {
throw new InternalError();
}
}
/**********************************************
* Return a string representing the object
***********************************************/
public abstract String toString();
/************************************************
* Return as an array the sampled values
* of the function
* @param j number of iterations
*************************************************/
public abstract double[] evaluate (int j) ;
/******************************************
* Compute the mass (integral)
* @param a left boundary of the interval
* @param b right boundary of the interval
* @param jfin number of iterations to consider
* (precision)
**********************************************/
public double mass(double a, double b, int jfin) {
double somme=0;
double[] values=evaluate(jfin);
for(int k=1;k