![]() |
Expression object for divisions of a dense vector by a scalar.The DVecScalarDivExpr class represents the compile time expression for divisions of dense vectors by scalar values. More...
#include <DVecScalarDivExpr.h>
Inherits blaze::DenseVector< DVecScalarDivExpr< VT, ST, TF >, TF >, blaze::Expression, and blaze::Computation.
Public Types | |
enum | { vectorizable = 0 } |
Compilation switch for the expression template evaluation strategy. | |
enum | { canAlias = CanAlias<VT>::value } |
Compilation flag for the detection of aliasing effects. | |
typedef DVecScalarDivExpr< VT, ST, TF > | This |
Type of this DVecScalarDivExpr instance. | |
typedef DivTrait< RT, ST >::Type | ResultType |
Result type for expression template evaluations. | |
typedef ResultType::TransposeType | TransposeType |
Transpose type for expression template evaluations. | |
typedef ResultType::ElementType | ElementType |
Resulting element type. | |
typedef IntrinsicTrait < ElementType >::Type | IntrinsicType |
Resulting intrinsic element type. | |
typedef const SelectType < returnExpr, ExprReturnType, ElementType >::Type | ReturnType |
Return type for expression template evaluations. | |
typedef SelectType< useAssign, const ResultType, const DVecScalarDivExpr & >::Type | CompositeType |
Data type for composite expression templates. | |
typedef SelectType < IsExpression< VT >::value, const VT, const VT & >::Type | LeftOperand |
Composite type of the left-hand side dense vector expression. | |
typedef DivTrait< typename BaseElementType< VT >::Type, ST >::Type | RightOperand |
Composite type of the right-hand side scalar value. | |
typedef VT | VectorType |
Type of the vector. | |
Public Member Functions | |
DVecScalarDivExpr (const VT &vector, ST scalar) | |
Constructor for the DVecScalarDivExpr class. | |
ReturnType | operator[] (size_t index) const |
Subscript operator for the direct access to the vector elements. | |
size_t | size () const |
Returns the current size/dimension of the vector. | |
LeftOperand | leftOperand () const |
Returns the left-hand side dense vector operand. | |
RightOperand | rightOperand () const |
Returns the right-hand side scalar operand. | |
template<typename T > | |
bool | isAliased (const T *alias) const |
Returns whether the expression is aliased with the given address alias. | |
VectorType & | operator~ () |
Conversion operator for non-constant vectors. | |
const VectorType & | operator~ () const |
Conversion operator for constant vectors. | |
Private Types | |
enum | { returnExpr = !IsTemporary<RN>::value } |
Compilation switch for the selection of the subscript operator return type. More... | |
enum | { useAssign = RequiresEvaluation<VT>::value } |
Compilation switch for the evaluation strategy of the multiplication expression. More... | |
typedef VT::ResultType | RT |
Result type of the dense vector expression. | |
typedef VT::ReturnType | RN |
Return type of the dense vector expression. | |
typedef VT::CompositeType | CT |
Composite type of the dense vector expression. | |
typedef DivExprTrait< RN, ST > ::Type | ExprReturnType |
Expression return type for the subscript operator. | |
Private Attributes | |
LeftOperand | vector_ |
Left-hand side dense vector of the division expression. | |
RightOperand | scalar_ |
Right-hand side scalar of the division expression. | |
Expression object for divisions of a dense vector by a scalar.
The DVecScalarDivExpr class represents the compile time expression for divisions of dense vectors by scalar values.
|
private |
Compilation switch for the selection of the subscript operator return type.
The returnExpr compile time constant expression is a compilation switch for the selection of the ReturnType. If the vector operand returns a temporary vector or matrix, returnExpr will be set to false and the subscript operator will return it's result by value. Otherwise returnExpr will be set to true and the subscript operator may return it's result as an expression.
|
private |
Compilation switch for the evaluation strategy of the multiplication expression.
The useAssign compile time constant expression represents a compilation switch for the evaluation strategy of the multiplication expression. In case either the dense vector operand requires an intermediate evaluation, useAssign will be set to true and the multiplication expression will be evaluated via the assign function family. Otherwise useAssign will be set to false and the expression will be evaluated via the subscript operator.
|
inlineexplicit |
Constructor for the DVecScalarDivExpr class.
vector | The left-hand side dense vector of the division expression. |
scalar | The right-hand side scalar of the division expression. |
|
inline |
Returns whether the expression is aliased with the given address alias.
alias | The alias to be checked. |
|
inline |
Returns the left-hand side dense vector operand.
|
inline |
Subscript operator for the direct access to the vector elements.
index | Access index. The index has to be in the range ![]() |
|
inlineinherited |
Conversion operator for non-constant vectors.
|
inlineinherited |
Conversion operator for constant vectors.
|
inline |
Returns the right-hand side scalar operand.
|
inline |
Returns the current size/dimension of the vector.