35#ifndef _BLAZE_MATH_INFINITY_H_
36#define _BLAZE_MATH_INFINITY_H_
115 constexpr operator signed char()
const;
116 constexpr operator char()
const;
117 constexpr operator wchar_t()
const;
118 constexpr operator short()
const;
119 constexpr operator int()
const;
120 constexpr operator long()
const;
121#if BLAZE_WIN32_PLATFORM || BLAZE_WIN64_PLATFORM
122 constexpr operator ptrdiff_t()
const;
124 constexpr operator float()
const;
125 constexpr operator double()
const;
126 constexpr operator long double()
const;
133 template<
typename T >
134 constexpr bool equal(
const T& rhs )
const;
142 void* operator&()
const =
delete;
167template<
typename I >
186template<
typename I >
199template<
typename I >
212template<
typename I >
225template<
typename I >
238template<
typename I >
251template<
typename I >
260#if BLAZE_WIN32_PLATFORM || BLAZE_WIN64_PLATFORM
265template<
typename I >
279template<
typename I >
292template<
typename I >
305template<
typename I >
328template<
typename I >
329template<
typename T >
349template<
typename I1,
typename I2 >
352template<
typename I,
typename T >
355template<
typename I,
typename T >
358template<
typename I1,
typename I2 >
361template<
typename I,
typename T >
364template<
typename I,
typename T >
400 return lhs.
equal( rhs );
420 return rhs.
equal( lhs );
455 return !lhs.
equal( rhs );
475 return !rhs.
equal( lhs );
553 constexpr operator unsigned char()
const;
554 constexpr operator signed char()
const;
555 constexpr operator char()
const;
556 constexpr operator wchar_t()
const;
557 constexpr operator unsigned short()
const;
558 constexpr operator short()
const;
559 constexpr operator unsigned int()
const;
560 constexpr operator int()
const;
561 constexpr operator unsigned long()
const;
562 constexpr operator long()
const;
563#if BLAZE_WIN32_PLATFORM || BLAZE_WIN64_PLATFORM
564 constexpr operator size_t()
const;
565 constexpr operator ptrdiff_t()
const;
567 constexpr operator float()
const;
568 constexpr operator double()
const;
569 constexpr operator long double()
const;
584 template<
typename T >
585 constexpr bool equal(
const T& rhs )
const;
593 void* operator&()
const =
delete;
629constexpr Infinity::operator
unsigned char()
const
641constexpr Infinity::operator char()
const
653constexpr Infinity::operator
signed char()
const
665constexpr Infinity::operator wchar_t()
const
677constexpr Infinity::operator
unsigned short()
const
689constexpr Infinity::operator short()
const
701constexpr Infinity::operator
unsigned int()
const
713constexpr Infinity::operator int()
const
725constexpr Infinity::operator
unsigned long()
const
737constexpr Infinity::operator long()
const
745#if BLAZE_WIN32_PLATFORM || BLAZE_WIN64_PLATFORM
750constexpr Infinity::operator size_t()
const
759#if BLAZE_WIN32_PLATFORM || BLAZE_WIN64_PLATFORM
764constexpr Infinity::operator
ptrdiff_t()
const
777constexpr Infinity::operator float()
const
789constexpr Infinity::operator double()
const
801constexpr Infinity::operator
long double()
const
855template<
typename T >
877template<
typename I >
880template<
typename I >
883template<
typename T >
886template<
typename T >
891template<
typename I >
894template<
typename I >
897template<
typename T >
900template<
typename T >
925template<
typename I >
939template<
typename I >
958template<
typename T >
961 return lhs.
equal( rhs );
977template<
typename T >
980 return rhs.
equal( lhs );
1004template<
typename I >
1018template<
typename I >
1037template<
typename T >
1040 return !lhs.
equal( rhs );
1056template<
typename T >
1059 return !rhs.
equal( lhs );
Constraint on the data type.
Numerical limits of built-in data types.
Positive infinity for built-in data types.
Definition: Infinity.h:529
constexpr Infinity()
The default constructor of the Infinity class.
Definition: Infinity.h:611
constexpr const Infinity & operator+() const
Returns the positive infinity value for all built-in data types.
Definition: Infinity.h:821
constexpr bool equal(const T &rhs) const
Equality comparison to a built-in data type.
Definition: Infinity.h:856
constexpr const NegativeType operator-() const
Returns the negative infinity value for all built-in data types.
Definition: Infinity.h:833
NegativeInfinity< Infinity > NegativeType
The negative infinity type.
Definition: Infinity.h:532
Negative infinity for built-in data types.
Definition: Infinity.h:89
constexpr bool equal(const T &rhs) const
Equality comparison to a built-in data type.
Definition: Infinity.h:330
I PositiveType
The positive infinity type.
Definition: Infinity.h:92
constexpr NegativeInfinity()
The default constructor of the NegativeInfinity class.
Definition: Infinity.h:168
Pointer difference type of the Blaze library.
#define BLAZE_CONSTRAINT_MUST_BE_BUILTIN_TYPE(T)
Constraint on the data type.
Definition: Builtin.h:60
constexpr Infinity inf
Global Infinity instance.
Definition: Infinity.h:1080
constexpr bool operator!=(const T &lhs, const Infinity &rhs)
Inequality comparison between a built-in data type and an Infinity object.
Definition: Infinity.h:1057
constexpr bool operator==(const T &lhs, const Infinity &rhs)
Equality comparison between a built-in data type and an Infinity object.
Definition: Infinity.h:978
Numerical limits of built-in data types.
Definition: Limits.h:108
Header file for basic type definitions.