package jsci.maths.wavelet.splines;
import jsci.maths.*;
import jsci.maths.wavelet.*;
/****************************************
* This class is used to generate sum of
* Diracs (splines of order 0) to be used
* as wavelets or related functions. It can
* also be used for basic interpolation.
* @author Daniel Lemire
*****************************************/
public class SumOfDiracs extends Spline implements Filter, Cloneable {
protected final static int filtretype=-1;
private double[] vecteur;
/****************************************
* This method is used to compute
* how the number of scaling functions
* changes from on scale to the other.
* Basically, if you have k scaling
* function and a Filter of type t, you'll
* have 2*k+t scaling functions at the
* next scale (dyadic case).
* Notice that this method assumes
* that one is working with the dyadic
* grid while the method "previousDimension"
* define in the interface "Filter" doesn't.
******************************************/
public int getFilterType () {
return(filtretype);
}
/*******************************
* Return a String representation
* of the object
********************************/
public String toString() {
return(ArrayMath.toString(vecteur));
}
/*****************************************
* Check if another object is equal to this
* SumOfDiracs object
******************************************/
public boolean equals(Object a) {
if(a!=null && (a instanceof SumOfDiracs) && vecteur.length==((SumOfDiracs)a).dimension()) {
SumOfDiracs iv=(SumOfDiracs)a;
for(int i=0;ivecteur.length-1)) {
throw new IllegalArgumentException("Incorrect parameters : "+i+", "+vecteur.length);
}
return(vecteur[i]);
}
/*********************************************
* Set the sampled values of the function
* to the specified array
**********************************************/
public void setValues(double[] v) {
vecteur=v;
}
/******************************************
* Compute the mass (integral)
* @param a left boundary of the interval
* @param b right boundary of the interval
**********************************************/
public double mass(double a, double b) {
double mass=0;
for(int i=0;i
Ads help maintain this website.