OpenADFortTk (including Open64 and OpenAnalysis references)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
LinearityIRInterface.hpp
Go to the documentation of this file.
1 
20 #ifndef LinearityIRInterface_h
21 #define LinearityIRInterface_h
22 
23 #include <iostream>
24 #include <list>
25 #include <string>
29 //#include <OpenAnalysis/IRInterface/ExprStmtPairIterator.hpp>
31 
32 namespace OA {
33  namespace Linearity {
34 
35 
36 // Operations are classified into one of the following types:
37 enum LinOpType {
38  OPR_ADDSUB, // Operation is either Add or Subtract
39  OPR_MPYDIV, // Operation is either Multiply or Divide
40  OPR_POWER, // Operation is a Power
41  OPR_LINEAR, // Generic Linear Operation
42  OPR_NONLINEAR, // Generic Nonlinear Operation
44 };
45 
52  public:
54  virtual ~LinearityIRInterface() { }
55 
57  virtual LinOpType getLinearityOpType(OpHandle op) = 0;
58 
64 
67 
68 };
69 
70  } // end of namespace Linearity
71 } // end of namespace OA
72 
73 #endif
74