TiledArray::expressions::BlkTsrExprBase< Derived > Class Template Reference
Inheritance diagram for TiledArray::expressions::BlkTsrExprBase< Derived >:
Collaboration diagram for TiledArray::expressions::BlkTsrExprBase< Derived >:

Documentation

template<typename Derived>
class TiledArray::expressions::BlkTsrExprBase< Derived >

Block expression.

Template Parameters
DerivedThe derived class type

Definition at line 109 of file blk_tsr_expr.h.

Public Types

typedef BlkTsrExprBase< Derived > BlkTsrExprBase_
 This class type. More...
 
typedef Expr< Derived > Expr_
 Unary base class type. More...
 
typedef ExprTrait< Derived >::array_type array_type
 The array type. More...
 
typedef ExprTrait< Derived >::reference reference
 The array reference type. More...
 
- Public Types inherited from TiledArray::expressions::Expr< Derived >
template<typename Derived_ = Derived>
using engine_t = typename ExprTrait< Derived_ >::engine_type
 
template<typename Derived_ = Derived>
using eval_type_t = typename engine_t< Derived_ >::eval_type
 
typedef Expr< Derived > Expr_
 This class type. More...
 
typedef Derived derived_type
 The derived object type. More...
 
typedef engine_t< derived_typeengine_type
 Expression engine type. More...
 

Public Member Functions

 BlkTsrExprBase (const BlkTsrExprBase_ &)=default
 
 BlkTsrExprBase (BlkTsrExprBase_ &&)=default
 
 ~BlkTsrExprBase ()=default
 
BlkTsrExprBase_operator= (const BlkTsrExprBase_ &)=delete
 
BlkTsrExprBase_operator= (BlkTsrExprBase_ &&)=delete
 
template<typename Index1 , typename Index2 , typename = std::enable_if_t< TiledArray::detail::is_integral_range_v<Index1> && TiledArray::detail::is_integral_range_v<Index2>>>
 BlkTsrExprBase (reference array, const std::string &annotation, const Index1 &lower_bound, const Index2 &upper_bound)
 Block expression constructor. More...
 
template<typename PairRange , typename = std::enable_if_t< TiledArray::detail::is_gpair_range_v<PairRange>>>
 BlkTsrExprBase (reference array, const std::string &annotation, const PairRange &bounds)
 Block expression constructor. More...
 
reference array () const
 Array accessor. More...
 
const std::string & annotation () const
 Tensor annotation accessor. More...
 
const auto & lower_bound () const
 Lower bound accessor. More...
 
const auto & upper_bound () const
 Upper bound accessor. More...
 
- Public Member Functions inherited from TiledArray::expressions::Expr< Derived >
Expr< Derived > & set_shape (typename override_type::shape_type const &shape)
 
Expr< Derived > & set_world (World &world)
 
Expr< Derived > & set_pmap (const std::shared_ptr< typename override_type::pmap_interface > pmap)
 
 Expr ()=default
 
 Expr (const Expr_ &)=default
 
 Expr (Expr_ &&)=default
 
 ~Expr ()=default
 
Expr_operator= (const Expr_ &)=delete
 
Expr_operator= (Expr_ &&)=delete
 
derived_typederived ()
 Cast this object to its derived type. More...
 
const derived_typederived () const
 Cast this object to its derived type. More...
 
template<typename A , bool Alias>
void eval_to (TsrExpr< A, Alias > &tsr) const
 Evaluate this object and assign it to tsr. More...
 
template<typename A , bool Alias>
void eval_to (BlkTsrExpr< A, Alias > &tsr) const
 Evaluate this object and assign it to tsr. More...
 
void print (ExprOStream &os, const BipartiteIndexList &target_indices) const
 Expression print. More...
 
template<typename Op >
Future< typename Op::result_type > reduce (const Op &op, World &world) const
 
template<typename Op >
Future< typename Op::result_type > reduce (const Op &op) const
 
template<typename D , typename Op >
Future< typename Op::result_type > reduce (const Expr< D > &right_expr, const Op &op, World &world) const
 
template<typename D , typename Op >
Future< typename Op::result_type > reduce (const Expr< D > &right_expr, const Op &op) const
 
template<typename TileType = typename EngineTrait<engine_type>::eval_type, typename = TiledArray::detail::enable_if_trace_is_defined_t<TileType>>
Future< result_of_trace_t< TileType > > trace (World &world) const
 
template<typename TileType = typename EngineTrait<engine_type>::eval_type, typename = TiledArray::detail::enable_if_trace_is_defined_t<TileType>>
Future< result_of_trace_t< TileType > > trace () const
 
Future< typename TiledArray::SumReduction< typename EngineTrait< engine_type >::eval_type >::result_type > sum (World &world) const
 
Future< typename TiledArray::SumReduction< typename EngineTrait< engine_type >::eval_type >::result_type > sum () const
 
Future< typename TiledArray::ProductReduction< typename EngineTrait< engine_type >::eval_type >::result_type > product (World &world) const
 
Future< typename TiledArray::ProductReduction< typename EngineTrait< engine_type >::eval_type >::result_type > product () const
 
Future< typename TiledArray::SquaredNormReduction< typename EngineTrait< engine_type >::eval_type >::result_type > squared_norm (World &world) const
 
Future< typename TiledArray::SquaredNormReduction< typename EngineTrait< engine_type >::eval_type >::result_type > squared_norm () const
 
Future< typename TiledArray::SquaredNormReduction< typename EngineTrait< engine_type >::eval_type >::result_type > norm (World &world) const
 
Future< typename TiledArray::SquaredNormReduction< typename EngineTrait< engine_type >::eval_type >::result_type > norm () const
 
template<typename Derived_ = Derived>
std::enable_if_t< TiledArray::detail::is_strictly_ordered< TiledArray::detail::numeric_t< typename EngineTrait< typename ExprTrait< Derived_ >::engine_type >::eval_type > >::value, Future< typename TiledArray::MinReduction< typename EngineTrait< typename ExprTrait< Derived_ >::engine_type >::eval_type >::result_type > > min (World &world) const
 
template<typename Derived_ = Derived>
std::enable_if_t< TiledArray::detail::is_strictly_ordered< TiledArray::detail::numeric_t< typename EngineTrait< typename ExprTrait< Derived_ >::engine_type >::eval_type > >::value, Future< typename TiledArray::MinReduction< typename EngineTrait< typename ExprTrait< Derived_ >::engine_type >::eval_type >::result_type > > min () const
 
template<typename Derived_ = Derived>
std::enable_if_t< TiledArray::detail::is_strictly_ordered< TiledArray::detail::numeric_t< typename EngineTrait< typename ExprTrait< Derived_ >::engine_type >::eval_type > >::value, Future< typename TiledArray::MaxReduction< typename EngineTrait< typename ExprTrait< Derived_ >::engine_type >::eval_type >::result_type > > max (World &world) const
 
template<typename Derived_ = Derived>
std::enable_if_t< TiledArray::detail::is_strictly_ordered< TiledArray::detail::numeric_t< typename EngineTrait< typename ExprTrait< Derived_ >::engine_type >::eval_type > >::value, Future< typename TiledArray::MaxReduction< typename EngineTrait< typename ExprTrait< Derived_ >::engine_type >::eval_type >::result_type > > max () const
 
Future< typename TiledArray::AbsMinReduction< typename EngineTrait< engine_type >::eval_type >::result_type > abs_min (World &world) const
 
Future< typename TiledArray::AbsMinReduction< typename EngineTrait< engine_type >::eval_type >::result_type > abs_min () const
 
Future< typename TiledArray::AbsMaxReduction< typename EngineTrait< engine_type >::eval_type >::result_type > abs_max (World &world) const
 
Future< typename TiledArray::AbsMaxReduction< typename EngineTrait< engine_type >::eval_type >::result_type > abs_max () const
 
template<typename D >
Future< typename TiledArray::DotReduction< typename EngineTrait< engine_type >::eval_type, typename EngineTrait< typename D::engine_type >::eval_type >::result_type > dot (const Expr< D > &right_expr, World &world) const
 
template<typename D >
Future< typename TiledArray::DotReduction< typename EngineTrait< engine_type >::eval_type, typename EngineTrait< typename D::engine_type >::eval_type >::result_type > dot (const Expr< D > &right_expr) const
 
template<typename D >
Future< typename TiledArray::InnerProductReduction< typename EngineTrait< engine_type >::eval_type, typename EngineTrait< typename D::engine_type >::eval_type >::result_type > inner_product (const Expr< D > &right_expr, World &world) const
 
template<typename D >
Future< typename TiledArray::InnerProductReduction< typename EngineTrait< engine_type >::eval_type, typename EngineTrait< typename D::engine_type >::eval_type >::result_type > inner_product (const Expr< D > &right_expr) const
 

Protected Member Functions

void check_valid () const
 

Protected Attributes

reference array_
 The array that this expression is bound to. More...
 
std::string annotation_
 The array annotation. More...
 
container::svector< std::size_t > lower_bound_
 Lower bound of the tile block. More...
 
container::svector< std::size_t > upper_bound_
 Upper bound of the tile block. More...
 

Member Typedef Documentation

◆ array_type

template<typename Derived >
typedef ExprTrait<Derived>::array_type TiledArray::expressions::BlkTsrExprBase< Derived >::array_type

The array type.

Definition at line 113 of file blk_tsr_expr.h.

◆ BlkTsrExprBase_

template<typename Derived >
typedef BlkTsrExprBase<Derived> TiledArray::expressions::BlkTsrExprBase< Derived >::BlkTsrExprBase_

This class type.

Definition at line 111 of file blk_tsr_expr.h.

◆ Expr_

template<typename Derived >
typedef Expr<Derived> TiledArray::expressions::BlkTsrExprBase< Derived >::Expr_

Unary base class type.

Definition at line 112 of file blk_tsr_expr.h.

◆ reference

template<typename Derived >
typedef ExprTrait<Derived>::reference TiledArray::expressions::BlkTsrExprBase< Derived >::reference

The array reference type.

Definition at line 115 of file blk_tsr_expr.h.

Constructor & Destructor Documentation

◆ BlkTsrExprBase() [1/4]

template<typename Derived >
TiledArray::expressions::BlkTsrExprBase< Derived >::BlkTsrExprBase ( const BlkTsrExprBase_ )
default

◆ BlkTsrExprBase() [2/4]

template<typename Derived >
TiledArray::expressions::BlkTsrExprBase< Derived >::BlkTsrExprBase ( BlkTsrExprBase_ &&  )
default

◆ ~BlkTsrExprBase()

template<typename Derived >
TiledArray::expressions::BlkTsrExprBase< Derived >::~BlkTsrExprBase ( )
default

◆ BlkTsrExprBase() [3/4]

template<typename Derived >
template<typename Index1 , typename Index2 , typename = std::enable_if_t< TiledArray::detail::is_integral_range_v<Index1> && TiledArray::detail::is_integral_range_v<Index2>>>
TiledArray::expressions::BlkTsrExprBase< Derived >::BlkTsrExprBase ( reference  array,
const std::string &  annotation,
const Index1 &  lower_bound,
const Index2 &  upper_bound 
)
inline

Block expression constructor.

Template Parameters
Index1An integral range type
Index2An integral range type
Parameters
arrayThe array object
annotationThe array annotation
lower_boundThe lower bound of the tile block
upper_boundThe upper bound of the tile block

Definition at line 219 of file blk_tsr_expr.h.

◆ BlkTsrExprBase() [4/4]

template<typename Derived >
template<typename PairRange , typename = std::enable_if_t< TiledArray::detail::is_gpair_range_v<PairRange>>>
TiledArray::expressions::BlkTsrExprBase< Derived >::BlkTsrExprBase ( reference  array,
const std::string &  annotation,
const PairRange &  bounds 
)
inline

Block expression constructor.

Template Parameters
PairRangeType representing a range of generalized pairs (see TiledArray::detail::is_gpair_v ) the tile block

Definition at line 242 of file blk_tsr_expr.h.

Member Function Documentation

◆ annotation()

template<typename Derived >
const std::string& TiledArray::expressions::BlkTsrExprBase< Derived >::annotation ( ) const
inline

Tensor annotation accessor.

Returns
A const reference to the annotation for this tensor

Definition at line 269 of file blk_tsr_expr.h.

Here is the caller graph for this function:

◆ array()

template<typename Derived >
reference TiledArray::expressions::BlkTsrExprBase< Derived >::array ( ) const
inline

Array accessor.

Returns
a const reference to this array

Definition at line 264 of file blk_tsr_expr.h.

Here is the caller graph for this function:

◆ check_valid()

template<typename Derived >
void TiledArray::expressions::BlkTsrExprBase< Derived >::check_valid ( ) const
inlineprotected

Definition at line 126 of file blk_tsr_expr.h.

Here is the caller graph for this function:

◆ lower_bound()

template<typename Derived >
const auto& TiledArray::expressions::BlkTsrExprBase< Derived >::lower_bound ( ) const
inline

Lower bound accessor.

Returns
The block lower bound

Definition at line 274 of file blk_tsr_expr.h.

Here is the caller graph for this function:

◆ operator=() [1/2]

template<typename Derived >
BlkTsrExprBase_& TiledArray::expressions::BlkTsrExprBase< Derived >::operator= ( BlkTsrExprBase_ &&  )
delete

◆ operator=() [2/2]

template<typename Derived >
BlkTsrExprBase_& TiledArray::expressions::BlkTsrExprBase< Derived >::operator= ( const BlkTsrExprBase_ )
delete

◆ upper_bound()

template<typename Derived >
const auto& TiledArray::expressions::BlkTsrExprBase< Derived >::upper_bound ( ) const
inline

Upper bound accessor.

Returns
The block upper bound

Definition at line 279 of file blk_tsr_expr.h.

Here is the caller graph for this function:

Member Data Documentation

◆ annotation_

template<typename Derived >
std::string TiledArray::expressions::BlkTsrExprBase< Derived >::annotation_
protected

The array annotation.

Definition at line 120 of file blk_tsr_expr.h.

◆ array_

template<typename Derived >
reference TiledArray::expressions::BlkTsrExprBase< Derived >::array_
protected

The array that this expression is bound to.

Definition at line 119 of file blk_tsr_expr.h.

◆ lower_bound_

template<typename Derived >
container::svector<std::size_t> TiledArray::expressions::BlkTsrExprBase< Derived >::lower_bound_
protected

Lower bound of the tile block.

Definition at line 122 of file blk_tsr_expr.h.

◆ upper_bound_

template<typename Derived >
container::svector<std::size_t> TiledArray::expressions::BlkTsrExprBase< Derived >::upper_bound_
protected

Upper bound of the tile block.

Definition at line 124 of file blk_tsr_expr.h.


The documentation for this class was generated from the following file: