#include <poly.h>
Public Member Functions | |
IECheck () | |
Constructor. | |
virtual TypeDecl * | infer (const TypeDecl &typedecl, const string &varlist) |
Inference for a given type declaration with respect to a given list of variables. | |
virtual bool | is_check_complete (const TypeDecl &td1, const TypeDecl &td2) const |
Get the list of variables in the reference constraint. | |
virtual | ~IECheck () |
Destructor. | |
Protected Member Functions | |
size_t | _arrange_def (const TypeDecl &typedecl) |
Put def-typed variables at the higher dimensions. | |
void | _infer (const TypeDecl &typedecl, size_t nparams, TypeDecl *v) |
Inference. | |
void | _unarrange_def () |
Static Protected Member Functions | |
static bool | check_implicit (Value **Constraint, size_t Neq, size_t nVar, size_t idx) |
Auxiliary method. | |
Protected Attributes | |
vector< bool > | arranged |
clpt::IECheck::IECheck | ( | ) | [inline] |
Constructor.
virtual clpt::IECheck::~IECheck | ( | ) | [inline, virtual] |
Destructor.
size_t clpt::IECheck::_arrange_def | ( | const TypeDecl & | typedecl | ) | [inline, protected] |
Put def-typed variables at the higher dimensions.
Reimplemented in clpt::POLYCheck, and clpt::ParCheck.
void clpt::IECheck::_unarrange_def | ( | ) | [inline, protected] |
static bool clpt::IECheck::check_implicit | ( | Value ** | Constraint, | |
size_t | Neq, | |||
size_t | nVar, | |||
size_t | idx | |||
) | [inline, static, protected] |
Auxiliary method.
virtual TypeDecl* clpt::IECheck::infer | ( | const TypeDecl & | typedecl, | |
const string & | varlist | |||
) | [inline, virtual] |
Inference for a given type declaration with respect to a given list of variables.
Reimplemented from clpt::LPCheck.
Reimplemented in clpt::POLYCheck.
virtual bool clpt::IECheck::is_check_complete | ( | const TypeDecl & | td1, | |
const TypeDecl & | td2 | |||
) | const [inline, virtual] |
Get the list of variables in the reference constraint.
Reimplemented from clpt::LPCheck.
Reimplemented in clpt::POLYCheck, and clpt::ParCheck.
vector<bool> clpt::IECheck::arranged [protected] |