-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathNumFunc.java
More file actions
41 lines (35 loc) · 746 Bytes
/
NumFunc.java
File metadata and controls
41 lines (35 loc) · 746 Bytes
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package symjava.numeric;
import symjava.symbolic.Expr;
/**
* An abstract class which can be used to define your own function
* For example:
NumFunc<Double> myFun = new NumFunc<Double>() {
@Override
public Double apply(double ...args) {
double x = args[0], y = args[1];
return x*x + y*y;
}
};
*
* @param <T>
*/
public abstract class NumFunc<T> extends Expr {
/**
* The derivative class should implement this method
* @param args
* @return
*/
public abstract T apply(double ...args);
@Override
public Expr diff(Expr expr) {
throw new UnsupportedOperationException("");
}
@Override
public Expr simplify() {
return this;
}
@Override
public boolean symEquals(Expr other) {
return false;
}
}