TiledArray
0.7.0
|
Tensor implementation and base for other tensor implementation objects. More...
#include <array_impl.h>
Public Types | |
typedef ArrayImpl< Tile, Policy > | ArrayImpl_ |
This object type. More... | |
typedef TensorImpl< Policy > | TensorImpl_ |
The base class of this object. More... | |
typedef TensorImpl_::size_type | size_type |
Size type. More... | |
typedef TensorImpl_::policy_type | policy_type |
Policy type for this object. More... | |
typedef TensorImpl_::trange_type | trange_type |
Tiled range type for this object. More... | |
typedef TensorImpl_::range_type | range_type |
Elements/tiles range type. More... | |
typedef TensorImpl_::shape_type | shape_type |
Shape type. More... | |
typedef TensorImpl_::pmap_interface | pmap_interface |
process map interface type More... | |
typedef Tile | value_type |
Tile or data type. More... | |
typedef eval_trait< Tile >::type | eval_type |
The tile evaluation type. More... | |
typedef numeric_type< value_type >::type | numeric_type |
the numeric type that supports Tile More... | |
typedef DistributedStorage< value_type > | storage_type |
The data container type. More... | |
typedef storage_type::future | future |
Future tile type. More... | |
typedef TileReference< ArrayImpl_ > | reference |
Tile reference type. More... | |
typedef TileConstReference< ArrayImpl_ > | const_reference |
Tile constant reference type. More... | |
typedef ArrayIterator< ArrayImpl_, reference > | iterator |
Iterator type. More... | |
typedef ArrayIterator< const ArrayImpl_, const_reference > | const_iterator |
Constant iterator type. More... | |
Public Types inherited from TiledArray::detail::TensorImpl< Policy > | |
typedef TensorImpl< Policy > | TensorImpl_ |
typedef Policy | policy_type |
Policy type. More... | |
typedef Policy::trange_type | trange_type |
Tiled range type. More... | |
typedef Policy::range_type | range_type |
Element/tile range type. More... | |
typedef Policy::size_type | size_type |
Size type. More... | |
typedef Policy::shape_type | shape_type |
Tensor shape type. More... | |
typedef Policy::pmap_interface | pmap_interface |
Process map interface type. More... | |
Public Member Functions | |
ArrayImpl (World &world, const trange_type &trange, const shape_type &shape, const std::shared_ptr< pmap_interface > &pmap) | |
Constructor. More... | |
virtual | ~ArrayImpl () |
Virtual destructor. More... | |
template<typename Index > | |
future | get (const Index &i) const |
Tile future accessor. More... | |
template<typename Integer > | |
future | get (const std::initializer_list< Integer > &i) const |
Tile future accessor. More... | |
template<typename Index , typename Value > | |
void | set (const Index &i, const Value &value) |
Set tile. More... | |
iterator | begin () |
Array begin iterator. More... | |
const_iterator | cbegin () const |
Array begin iterator. More... | |
iterator | end () |
Array end iterator. More... | |
const_iterator | cend () const |
Array end iterator. More... | |
const madness::uniqueidT & | id () const |
Unique object id accessor. More... | |
Public Member Functions inherited from TiledArray::detail::TensorImpl< Policy > | |
TensorImpl (World &world, const trange_type &trange, const shape_type &shape, const std::shared_ptr< pmap_interface > &pmap) | |
Constructor. More... | |
virtual | ~TensorImpl () |
Virtual destructor. More... | |
const std::shared_ptr< pmap_interface > & | pmap () const |
Tensor process map accessor. More... | |
const range_type & | tiles_range () const |
Tiles range accessor. More... | |
size_type | size () const |
Tensor tile volume accessor. More... | |
size_type | local_size () const |
Local element count. More... | |
template<typename Index > | |
ProcessID | owner (const Index &i) const |
Query a tile owner. More... | |
template<typename Index > | |
bool | is_local (const Index &i) const |
Query for a locally owned tile. More... | |
template<typename Index > | |
bool | is_zero (const Index &i) const |
Query for a zero tile. More... | |
bool | is_dense () const |
Query the density of the tensor. More... | |
const shape_type & | shape () const |
Tensor shape accessor. More... | |
const trange_type & | trange () const |
Tiled range accessor. More... | |
DEPRECATED World & | get_world () const |
World & | world () const |
World accessor. More... | |
Tensor implementation and base for other tensor implementation objects.
This implementation object holds the data for tensor object, which includes tiled range, shape, and tiles. The tiles are held in a distributed container, stored according to a given process map.
Tile | The tile or value_type of this tensor |
Definition at line 423 of file array_impl.h.
typedef ArrayImpl<Tile, Policy> TiledArray::detail::ArrayImpl< Tile, Policy >::ArrayImpl_ |
This object type.
Definition at line 425 of file array_impl.h.
typedef ArrayIterator<const ArrayImpl_, const_reference> TiledArray::detail::ArrayImpl< Tile, Policy >::const_iterator |
Constant iterator type.
Definition at line 442 of file array_impl.h.
typedef TileConstReference<ArrayImpl_> TiledArray::detail::ArrayImpl< Tile, Policy >::const_reference |
Tile constant reference type.
Definition at line 440 of file array_impl.h.
typedef eval_trait<Tile>::type TiledArray::detail::ArrayImpl< Tile, Policy >::eval_type |
The tile evaluation type.
Definition at line 434 of file array_impl.h.
typedef storage_type::future TiledArray::detail::ArrayImpl< Tile, Policy >::future |
Future tile type.
Definition at line 438 of file array_impl.h.
typedef ArrayIterator<ArrayImpl_, reference> TiledArray::detail::ArrayImpl< Tile, Policy >::iterator |
Iterator type.
Definition at line 441 of file array_impl.h.
typedef numeric_type<value_type>::type TiledArray::detail::ArrayImpl< Tile, Policy >::numeric_type |
the numeric type that supports Tile
Definition at line 436 of file array_impl.h.
typedef TensorImpl_::pmap_interface TiledArray::detail::ArrayImpl< Tile, Policy >::pmap_interface |
process map interface type
Definition at line 432 of file array_impl.h.
typedef TensorImpl_::policy_type TiledArray::detail::ArrayImpl< Tile, Policy >::policy_type |
Policy type for this object.
Definition at line 428 of file array_impl.h.
typedef TensorImpl_::range_type TiledArray::detail::ArrayImpl< Tile, Policy >::range_type |
Elements/tiles range type.
Definition at line 430 of file array_impl.h.
typedef TileReference<ArrayImpl_> TiledArray::detail::ArrayImpl< Tile, Policy >::reference |
Tile reference type.
Definition at line 439 of file array_impl.h.
typedef TensorImpl_::shape_type TiledArray::detail::ArrayImpl< Tile, Policy >::shape_type |
Shape type.
Definition at line 431 of file array_impl.h.
typedef TensorImpl_::size_type TiledArray::detail::ArrayImpl< Tile, Policy >::size_type |
Size type.
Definition at line 427 of file array_impl.h.
typedef DistributedStorage<value_type> TiledArray::detail::ArrayImpl< Tile, Policy >::storage_type |
The data container type.
Definition at line 437 of file array_impl.h.
typedef TensorImpl<Policy> TiledArray::detail::ArrayImpl< Tile, Policy >::TensorImpl_ |
The base class of this object.
Definition at line 426 of file array_impl.h.
typedef TensorImpl_::trange_type TiledArray::detail::ArrayImpl< Tile, Policy >::trange_type |
Tiled range type for this object.
Definition at line 429 of file array_impl.h.
typedef Tile TiledArray::detail::ArrayImpl< Tile, Policy >::value_type |
Tile or data type.
Definition at line 433 of file array_impl.h.
|
inline |
Constructor.
The size of shape must be equal to the volume of the tiled range tiles.
world | The world where this tensor will live |
trange | The tiled range for this tensor |
shape | The shape of this tensor |
pmap | The tile-process map |
TiledArray::Exception | When the size of shape is not equal to zero |
Definition at line 459 of file array_impl.h.
|
inlinevirtual |
Virtual destructor.
Definition at line 466 of file array_impl.h.
|
inline |
Array begin iterator.
Definition at line 509 of file array_impl.h.
|
inline |
Array begin iterator.
Definition at line 524 of file array_impl.h.
|
inline |
Array end iterator.
Definition at line 546 of file array_impl.h.
|
inline |
Array end iterator.
Definition at line 539 of file array_impl.h.
|
inline |
Tile future accessor.
Index | The index type |
i | The tile index |
future
to tile i
TiledArray::Exception | When tile i is zero |
Definition at line 475 of file array_impl.h.
|
inline |
Tile future accessor.
Integer | An integer type |
i | The tile index, as an std::initializer_list<Integer> |
future
to tile i
TiledArray::Exception | When tile i is zero |
Definition at line 487 of file array_impl.h.
|
inline |
Unique object id accessor.
Definition at line 553 of file array_impl.h.
|
inline |
Set tile.
Set the tile at i
with value
. Value
type may be value_type
, Future<value_type>
, or madness::detail::MoveWrapper<value_type>
.
Index | The index type |
Value | The value type |
i | The index of the tile to be set |
value | The object tat contains the tile value |
Definition at line 501 of file array_impl.h.