package mikera.vectorz.ops;

import mikera.arrayz.INDArray;
import mikera.matrixx.AMatrix;
import mikera.vectorz.AVector;
import mikera.vectorz.Op;

public final class Offset extends ALinearOp {
	private final double constant;
	
	private Offset(double constant) {
		this.constant=constant;
	}
	
	public static Offset create(double offset) {
		return new Offset(offset);
	}
	
	@Override
	public double apply(double x) {
		return x+constant;
	}
	
	@Override
	public double applyInverse(double y) {
		return y-constant;
	}
	
	@Override
	public void applyTo(INDArray v) {
		v.add(constant);
	}
	
	@Override
	public void applyTo(AMatrix v) {
		v.add(constant);
	}
	
	@Override
	public void applyTo(AVector v) {
		v.add(constant);
	}
	
	@Override
	public void applyTo(double[] data) {
		for (int i=0; i 

Ads help maintain this website.