package fr.unistra.pelican.util.qfz;
import fr.unistra.pelican.util.lut.ThreeBandByteDistanceLUT;
public class MultivariateAlphaLogicalPredicateBasedOnLUT extends MultivariateScalarAlphaLogicalPredicate {
private ThreeBandByteDistanceLUT lut;
public MultivariateAlphaLogicalPredicateBasedOnLUT(int alpha, ThreeBandByteDistanceLUT lut)
{
super(alpha);
this.lut=lut;
}
public boolean _check(int[] values1, int[] values2)
{
return(lut.get(Math.abs(values1[0]-values2[0]), Math.abs(values1[1]-values2[1]), Math.abs(values1[2]-values2[2]))<=currentAlpha);
}
public double getDistance(int[] values1, int[] values2)
{
return lut.get(Math.abs(values1[0]-values2[0]), Math.abs(values1[1]-values2[1]), Math.abs(values1[2]-values2[2]));
}
}