package mikera.vectorz.functions;
import mikera.transformz.ATransform;
import mikera.vectorz.AVector;
/**
* Abstract base class for Scalar functions
*
* @author Mike
*
*/
public abstract class ScalarFunction extends ATransform {
/**
* Calculates the result of this scalar function with the given input vector
* @param input
* @return
*/
public abstract double calculate(AVector input);
@Override
public int outputDimensions() {
return 1;
}
@Override
public void transform(AVector src, AVector dest) {
assert(dest.length()==1);
dest.set(0,calculate(src));
}
}