source: branches/2994-AutoDiffForIntervals/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/IAlgebraicType.cs @ 17295

Last change on this file since 17295 was 17295, checked in by gkronber, 3 years ago

#2994: refactoring: moved types into separate files

File size: 1.0 KB
Line 
1namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
2  public interface IAlgebraicType<T> {
3    T Zero { get; } // Zero and One must create new objects
4    T One { get; }
5
6    T AssignAbs(T a); // set this to assign abs(a)
7    T Assign(T a); // assign this to same value as a (copy!)
8    T AssignNeg(T a); // set this to negative(a)
9    T AssignInv(T a); // set this to inv(a);
10    T Scale(double s); // scale this with s
11    T Add(T a); // add a to this
12    T Sub(T a); // subtract a from this
13    T Mul(T a); // multiply this with a
14    T Div(T a); // divide this by a
15    T AssignLog(T a); // set this to log a
16    T AssignExp(T a); // set this to exp(a)
17    T AssignSin(T a); // set this to sin(a)
18    T AssignCos(T a); // set this to cos(a)
19    T AssignTanh(T a); // set this to tanh(a)
20    T AssignIntPower(T a, int p);
21    T AssignIntRoot(T a, int r);
22    T AssignSgn(T a); // set this to sign(a)
23    T AssignMin(T other); // set this min(this, other)
24    T AssignMax(T other); // set this max(this, other)
25    T Clone();
26  }
27}
Note: See TracBrowser for help on using the repository browser.