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.