summaryrefslogtreecommitdiff
path: root/java/src/org/singinst/uf/math/InvertableFunction.java
blob: 7481da6431c6dedcf84547067306c2cd4431be5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package org.singinst.uf.math;

public abstract class InvertableFunction {

	public static final InvertableFunction IDENTITY = new InvertableFunction() {

		@Override
		public double apply(double x) {
			return x;
		}

		@Override
		public double invert(double y) {
			return y;
		}
		
	};

	public abstract double apply(double x);
	public abstract double invert(double y);
	
	public InvertableFunction invert() {
		return new InvertedFunction(this);
	}

}