SyTen
scalars.h File Reference

Common scalar types and overloads, if necessary. More...

#include <cstddef>
#include <complex>
#include "inc/util/types.h"
#include "inc/util/half_int.h"
#include "inc/util/isnan.h"
#include "inc/util/abs_real_imag_conj.h"
#include "inc/util/configuration.h"
#include "inc/util/high_precision.h"
#include "inc/util/constants.h"
Include dependency graph for scalars.h:
This graph shows which files directly or indirectly include this file:

## Namespaces

syten
Syten namespace.

## Typedefs

Common Scalar Types

See also Scalar types for an overview of the different applications of these types.

using syten::Bool = std::uint8_t
Alternative boolean type to use to avoid std::vector<bool>shenanigans. More...

using syten::CDef = HighPrec
The scalar type used in CGC tensors, see also Scalar types. More...

using syten::Index = std::uint32_t
The standard index type for tensors, see also Scalar types. More...

using syten::IndexNumber = std::uint8_t
Index numbers, i.e. More...

using syten::MDef = HighPrec
The scalar type used in rep representations (i.e. matrices), typically the same as CDef. More...

using syten::Rank = std::size_t
Compile-time constants, also used for arrays and such, see also Scalar types. More...

using syten::RDef = HalfInteger< SYTEN_RDEF_BASE_TYPE >
The scalar type used to label rep representations, see also Scalar types. More...

using syten::SDef = SYTEN_SDEF_TYPE
The scalar type used in generic tensors, see also Scalar types. More...

using syten::Size = std::size_t
The standard size type for flat arrays, consider this also for loop variables where appropriate, see also Scalar types. More...

using syten::SRDef = SYTEN_SRDEF_TYPE
Real base of the scalar type used in generic tensors, useful for norms etc, see also Scalar types. More...

## Functions

template<typename T >
std::hash< T >::result_type syten::hash_value (T const &x)
For use of Boost's hashing functions with our user-defined types; forwards to std::hash. More...

constexpr SDef syten::operator""_c (long double value)
User-defined literal operator to turn a floating-point value into a SDef (potentially complex). More...

constexpr SDef syten::operator""_c (unsigned long long int value)
User-defined literal operator to turn an integer value into a SDef (potentially complex). More...

constexpr SDef syten::operator""_i (long double value)
User-defined literal operator to turn a floating-point value into a purely imaginary SDef. More...

constexpr SDef syten::operator""_i (unsigned long long int value)
User-defined literal operator to turn an integer value into a purely imaginary SDef. More...

constexpr SRDef syten::operator""_r (long double value)
User-defined literal operator to turn a floating-point value into a SRDef. More...

constexpr SRDef syten::operator""_r (unsigned long long int value)
User-defined literal operator to turn an integer into a SRDef. More...

## Detailed Description

Common scalar types and overloads, if necessary.