Ginkgo Generated from branch based on main. Ginkgo version 1.9.0
A numerical linear algebra library targeting many-core architectures
 
Loading...
Searching...
No Matches
gko::dim< 1u, DimensionType > Struct Template Reference
Inheritance diagram for gko::dim< 1u, DimensionType >:
[legend]
Collaboration diagram for gko::dim< 1u, DimensionType >:
[legend]

Public Types

using dimension_type = DimensionType
 
using dimension_type
 

Public Member Functions

constexpr dim (const dimension_type &size=dimension_type{})
 
constexpr const dimension_type & operator[] (const size_type &dimension) const noexcept
 
dimension_type & operator[] (const size_type &dimension)
 
constexpr operator bool () const
 
constexpr dim ()
 Creates a dimension object with all dimensions set to zero.
 
constexpr dim (const dimension_type &size)
 Creates a dimension object with all dimensions set to the same value.
 
constexpr dim (const dimension_type &first, const Rest &... rest)
 Creates a dimension object with the specified dimensions.
 
constexpr const dimension_type & operator[] (const size_type &dimension) const noexcept
 Returns the requested dimension.
 
dimension_type & operator[] (const size_type &dimension) noexcept
 
constexpr operator bool () const
 Checks if all dimensions evaluate to true.
 

Static Public Attributes

static constexpr size_type dimensionality = 1u
 
static constexpr size_type dimensionality
 

Friends

struct dim< 2 >
 
constexpr bool operator== (const dim &x, const dim &y)
 
constexpr bool operator!= (const dim &x, const dim &y)
 
constexpr dim operator* (const dim &x, const dim &y)
 
std::ostream & operator<< (std::ostream &os, const dim &x)
 
struct dim< dimensionality+1 >
 
constexpr bool operator== (const dim &x, const dim &y)
 Checks if two dim objects are equal.
 
constexpr bool operator!= (const dim &x, const dim &y)
 Checks if two dim objects are not equal.
 
constexpr dim operator* (const dim &x, const dim &y)
 Multiplies two dim objects.
 
std::ostream & operator<< (std::ostream &os, const dim &x)
 A stream operator overload for dim.
 

Constructor & Destructor Documentation

◆ dim() [1/2]

gko::dim< Dimensionality, DimensionType >::dim ( const dimension_type & size)
inlineexplicitconstexpr

Creates a dimension object with all dimensions set to the same value.

Parameters
sizethe size of each dimension

◆ dim() [2/2]

gko::dim< Dimensionality, DimensionType >::dim ( const dimension_type & first,
const Rest &... rest )
inlineconstexpr

Creates a dimension object with the specified dimensions.

If the number of dimensions given is less than the dimensionality of the object, the remaining dimensions are set to the same value as the last value given.

For example, in the context of matrices dim<2>{2, 3} creates the dimensions for a 2-by-3 matrix.

Parameters
firstfirst dimension
restother dimensions

Member Function Documentation

◆ operator bool()

gko::dim< Dimensionality, DimensionType >::operator bool ( ) const
inlineexplicitconstexpr

Checks if all dimensions evaluate to true.

For standard arithmetic types, this is equivalent to all dimensions being different than zero.

Returns
true if and only if all dimensions evaluate to true
Note
This operator is explicit to avoid implicit dim-to-int casts. It will still be used in contextual conversions (if, &&, ||, !)

◆ operator[]() [1/2]

const dimension_type & gko::dim< Dimensionality, DimensionType >::operator[] ( const size_type & dimension) const
inlineconstexprnoexcept

Returns the requested dimension.

For example, if d is a dim<2> object representing matrix dimensions, d[0] returns the number of rows, and d[1] returns the number of columns.

Parameters
dimensionthe requested dimension
Returns
the dimension-th dimension

◆ operator[]() [2/2]

dimension_type & gko::dim< Dimensionality, DimensionType >::operator[] ( const size_type & dimension)
inlinenoexcept

Friends And Related Symbol Documentation

◆ operator!=

bool operator!= ( const dim< 1u, DimensionType > & x,
const dim< 1u, DimensionType > & y )
friend

Checks if two dim objects are not equal.

Parameters
xfirst object
ysecond object
Returns
false if and only if all dimensions of both objects are equal.

◆ operator*

dim operator* ( const dim< 1u, DimensionType > & x,
const dim< 1u, DimensionType > & y )
friend

Multiplies two dim objects.

Parameters
xfirst object
ysecond object
Returns
a dim object representing the size of the tensor product x * y

◆ operator<<

std::ostream & operator<< ( std::ostream & os,
const dim< 1u, DimensionType > & x )
friend

A stream operator overload for dim.

Parameters
osstream object
xdim object
Returns
a stream object appended with the dim output

◆ operator==

bool operator== ( const dim< 1u, DimensionType > & x,
const dim< 1u, DimensionType > & y )
friend

Checks if two dim objects are equal.

Parameters
xfirst object
ysecond object
Returns
true if and only if all dimensions of both objects are equal.

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