Template Struct TypeInfo#

Inheritance Relationships#

Derived Types#

Struct Documentation#

template<typename T>
struct TypeInfo#

Provides compile-time information about a data type, allowing for easier function switching and compile-time evaluation

Template Parameters

T – The type to get information about

Subclassed by librapid::typetraits::TypeInfo< T & >, librapid::typetraits::TypeInfo< T && >, librapid::typetraits::TypeInfo< T * >, librapid::typetraits::TypeInfo< T[]>, librapid::typetraits::TypeInfo< const T * >, librapid::typetraits::TypeInfo< const T >, librapid::typetraits::TypeInfo< const volatile T * >, librapid::typetraits::TypeInfo< const volatile T >, librapid::typetraits::TypeInfo< volatile T * >, librapid::typetraits::TypeInfo< volatile T >

Public Types

using Scalar = T#
using Packet = std::false_type#
using Backend = backend::CPU#
using ShapeType = std::false_type#

Public Static Functions

static inline constexpr auto min() noexcept#
static inline constexpr auto max() noexcept#
static inline constexpr auto epsilon() noexcept#
static inline constexpr auto roundError() noexcept#
static inline constexpr auto denormMin() noexcept#
static inline constexpr auto infinity() noexcept#
static inline constexpr auto quietNaN() noexcept#
static inline constexpr auto signalingNaN() noexcept#

Public Static Attributes

static constexpr detail::LibRapidType type = detail::LibRapidType::Scalar#
static constexpr int64_t packetWidth = 1#
static constexpr char name[] = "[ NO DEFINED TYPE ]"#
static constexpr bool supportsArithmetic = true#
static constexpr bool supportsLogical = true#
static constexpr bool supportsBinary = true#
static constexpr bool allowVectorisation = false#
static constexpr cudaDataType_t CudaType = cudaDataType_t::CUDA_R_64F#
static constexpr int64_t cudaPacketWidth = 1#
static constexpr bool canAlign = true#
static constexpr bool canMemcpy = true#