kangaroo  1.0
the cbls library
Typedefs | Enumerations | Functions
parameter.hpp File Reference

Parameter specification options. More...

#include "cbls/frames/datatypes.hpp"
#include "cbls/frames/expression0.hpp"

Go to the source code of this file.

Typedefs

typedef BitStr ParamSpecType
 Parameter specification type. More...
 

Enumerations

Functions

template<typename value >
ValueRecord< value > const * getExprValueRecord (Expression *const pExpression)
 
Bool checkReifyValueAsScalarMetric (ParamSpecType const ParamSpec)
 
Bool checkReifyScalarAsVectorMetric (ParamSpecType const ParamSpec)
 
Bool checkOptiSwap (ParamSpecType const ParamSpec)
 
ParamSpecType getOptiSwapFunc (ParamSpecType const ParamSpec)
 
template<typename metric >
ScalarRecord< metric > const * getExprScalarRecord (Expression *const pExpression, Order const MaxiOrMini, ParamSpecType const ParamSpec=DefaultParam)
 
template<typename metric >
VectorRecord< metric > const * getExprVectorRecord (Expression *const pExpression, Order const MaxiOrMini, ParamSpecType const ParamSpec=DefaultParam)
 

Detailed Description

Parameter specification options.

Author
M.A.Hakim Newton mahak.nosp@m.im.n.nosp@m.ewton.nosp@m.@gma.nosp@m.il.co.nosp@m.m
Duc Nghia Pham ducng.nosp@m.hia..nosp@m.pham@.nosp@m.gmai.nosp@m.l.com
Date
03.01.2010

Typedef Documentation

Parameter specification type.

Enumeration Type Documentation

Parameter specification options.

Enumerator
DefaultParam 

Use default parameter option which is just null.

ReifyValue 

Reify value as scalar metric as is necessary.

ReifyMetric 

Reify scalar metric as vector metric as is necessary.

SwapOptiMetrics 

Use min scalars/vectors as max scalars/vectors and vice versa.

DotOperatorOnSwap 

Apply dot/no conversion on scalars/vectors before using them.

NegOperatorOnSwap 

Apply negation operator on scalars/vectors before using them.

NotOperatorOnSwap 

Apply logical-not operator on scalars/vectors before using them.

InvOperatorOnSwap 

Apply inverse operator on scalars/vectors before using them.

enum ParamMasks

Parameter specification masks.

Enumerator
OptiSwapFuncs 

Maxi to mini or vice-versa swap function masks.

enum ParamOrder

Parameter specification ordering.

Enumerator
OrderedParams 

Ordered parameters.

UnorderedParams 

Unordered parameters.

Function Documentation

template<typename value >
ValueRecord<value> const* getExprValueRecord ( Expression *const  pExpression)
inline

Return the value record pointer of the expression.

Bool checkReifyValueAsScalarMetric ( ParamSpecType const  ParamSpec)
inline

Return whether reification of value as scalar metric is specified.

Bool checkReifyScalarAsVectorMetric ( ParamSpecType const  ParamSpec)
inline

Return whether reification of scalar metric as vector metric is specified.

Bool checkOptiSwap ( ParamSpecType const  ParamSpec)
inline

Return whether optimisation swap is specified or not.

ParamSpecType getOptiSwapFunc ( ParamSpecType const  ParamSpec)
inline

Return optimisation swap function specification.

template<typename metric >
ScalarRecord<metric> const* getExprScalarRecord ( Expression *const  pExpression,
Order const  MaxiOrMini,
ParamSpecType const  ParamSpec = DefaultParam 
)
inline

Return the scalar record pointer of the expression. If reification is specified then value record is returned. If optimisation swap is specified, then take into account. If scalar is not defined, value record is returned instead. If value record is returned, metric and value types need compatibility.

template<typename metric >
VectorRecord<metric> const* getExprVectorRecord ( Expression *const  pExpression,
Order const  MaxiOrMini,
ParamSpecType const  ParamSpec = DefaultParam 
)
inline

Return the vector record pointer of the expression. If max-mini-swap is specified, take into account.