#include <climits>
#include <cstdlib>
#include <limits>
#include <iosfwd>
#include "lo-traits.h"
#include "lo-math.h"
#include "lo-mappers.h"
Go to the source code of this file.
Classes | |
struct | query_integer_type< qsize, qsigned > |
class | octave_int_cmp_op |
class | octave_int_cmp_op::octave_int_cmp_op::prom< T1, T2 > |
class | octave_int_cmp_op::octave_int_cmp_op::uiop< xop, size > |
class | octave_int_base< T > |
class | octave_int_arith_base< T, is_signed > |
class | octave_int_arith_base< T, false > |
class | octave_int_arith_base< T, true > |
class | octave_int_arith< T > |
class | octave_int< T > |
Defines | |
#define | octave_inttypes_h 1 |
#define | REGISTER_INT_TYPE(TYPE) |
#define | REGISTER_OCTAVE_CMP_OP(NM, OP) |
#define | REGISTER_OCTAVE_CONST_OP(NM, value) |
#define | DEFINE_LONG_DOUBLE_CMP_OP(T1, T2) |
#define | OCTAVE_INT_UN_OP(OPNAME, NAME) |
#define | OCTAVE_INT_BIN_OP(OP, NAME, ARGT) |
#define | OCTAVE_INT_CMP_OP(OP, NAME) |
#define | OCTAVE_INT_BITCMP_OP(OP) |
#define | OCTAVE_INT_DOUBLE_BIN_OP0(OP) |
#define | OCTAVE_INT_DOUBLE_BIN_OP(OP) |
#define | OCTAVE_INT_DOUBLE_CMP_OP(OP, NAME) |
#define | OCTAVE_INT_FLOAT_BIN_OP(OP) |
#define | OCTAVE_INT_FLOAT_CMP_OP(OP) |
Typedefs | |
typedef octave_int< int8_t > | octave_int8 |
typedef octave_int< int16_t > | octave_int16 |
typedef octave_int< int32_t > | octave_int32 |
typedef octave_int< int64_t > | octave_int64 |
typedef octave_int< uint8_t > | octave_uint8 |
typedef octave_int< uint16_t > | octave_uint16 |
typedef octave_int< uint32_t > | octave_uint32 |
typedef octave_int< uint64_t > | octave_uint64 |
Functions | |
template<class T > | |
T | octave_int_abs (T x) |
REGISTER_INT_TYPE (int8_t) | |
REGISTER_INT_TYPE (uint8_t) | |
REGISTER_INT_TYPE (int16_t) | |
REGISTER_INT_TYPE (uint16_t) | |
REGISTER_INT_TYPE (int32_t) | |
REGISTER_INT_TYPE (uint32_t) | |
REGISTER_INT_TYPE (int64_t) | |
REGISTER_INT_TYPE (uint64_t) | |
template<class T > | |
bool | xisnan (const octave_int< T > &) |
template<class T > | |
OCTAVE_API octave_int< T > | pow (const octave_int< T > &, const octave_int< T > &) |
template<class T > | |
OCTAVE_API octave_int< T > | pow (const double &a, const octave_int< T > &b) |
template<class T > | |
OCTAVE_API octave_int< T > | pow (const octave_int< T > &a, const double &b) |
template<class T > | |
OCTAVE_API octave_int< T > | powf (const float &a, const octave_int< T > &b) |
template<class T > | |
OCTAVE_API octave_int< T > | powf (const octave_int< T > &a, const float &b) |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const octave_int< T > &ival) |
template<class T > | |
std::istream & | operator>> (std::istream &is, octave_int< T > &ival) |
template<class T > | |
octave_int< T > | bitshift (const octave_int< T > &a, int n, const octave_int< T > &mask=std::numeric_limits< T >::max()) |
#define DEFINE_LONG_DOUBLE_CMP_OP | ( | T1, | |||
T2 | ) |
#define OCTAVE_INT_BIN_OP | ( | OP, | |||
NAME, | |||||
ARGT | ) |
Value:
inline octave_int<T> \ operator OP (const ARGT& y) const \ { return octave_int_arith<T>::NAME (ival, y); } \ inline octave_int<T>& \ operator OP##= (const ARGT& y) \ { \ ival = octave_int_arith<T>::NAME (ival, y); \ return *this; \ }
#define OCTAVE_INT_BITCMP_OP | ( | OP | ) |
Value:
template <class T> \ octave_int<T> \ operator OP (const octave_int<T>& x, const octave_int<T>& y) \ { return x.value () OP y.value (); }
#define OCTAVE_INT_CMP_OP | ( | OP, | |||
NAME | ) |
Value:
template<class T1, class T2> \ inline bool \ operator OP (const octave_int<T1>& x, const octave_int<T2>& y) \ { return octave_int_cmp_op::op<octave_int_cmp_op::NAME, T1, T2> \ (x.value (), y.value ()); }
#define OCTAVE_INT_DOUBLE_BIN_OP | ( | OP | ) |
Value:
OCTAVE_INT_DOUBLE_BIN_OP0(OP) \ template <> \ OCTAVE_API octave_int64 \ operator OP (const double&, const octave_int64&); \ template <> \ OCTAVE_API octave_uint64 \ operator OP (const double&, const octave_uint64&); \ template <> \ OCTAVE_API octave_int64 \ operator OP (const octave_int64&, const double&); \ template <> \ OCTAVE_API octave_uint64 \ operator OP (const octave_uint64&, const double&);
#define OCTAVE_INT_DOUBLE_BIN_OP0 | ( | OP | ) |
Value:
template <class T> \ inline octave_int<T> \ operator OP (const octave_int<T>& x, const double& y) \ { return octave_int<T> (static_cast<double> (x) OP y); } \ template <class T> \ inline octave_int<T> \ operator OP (const double& x, const octave_int<T>& y) \ { return octave_int<T> (x OP static_cast<double> (y)); } \
#define OCTAVE_INT_DOUBLE_CMP_OP | ( | OP, | |||
NAME | ) |
Value:
template <class T> \ inline bool \ operator OP (const octave_int<T>& x, const double& y) \ { return octave_int_cmp_op::mop<octave_int_cmp_op::NAME> (x.value (), y); } \ template <class T> \ inline bool \ operator OP (const double& x, const octave_int<T>& y) \ { return octave_int_cmp_op::mop<octave_int_cmp_op::NAME> (x, y.value ()); }
#define OCTAVE_INT_FLOAT_BIN_OP | ( | OP | ) |
Value:
template <class T> \ inline octave_int<T> \ operator OP (const octave_int<T>& x, float y) \ { return x OP static_cast<double> (y); } \ template <class T> \ inline octave_int<T> \ operator OP (float x, const octave_int<T>& y) \ { return static_cast<double> (x) OP y; }
#define OCTAVE_INT_FLOAT_CMP_OP | ( | OP | ) |
Value:
template <class T> \ inline bool \ operator OP (const octave_int<T>& x, const float& y) \ { return x OP static_cast<double> (y); } \ template <class T> \ bool \ operator OP (const float& x, const octave_int<T>& y) \ { return static_cast<double> (x) OP y; }
#define OCTAVE_INT_UN_OP | ( | OPNAME, | |||
NAME | ) |
Value:
inline octave_int<T> \ OPNAME () const \ { return octave_int_arith<T>::NAME (ival); }
#define octave_inttypes_h 1 |
#define REGISTER_INT_TYPE | ( | TYPE | ) |
Value:
template <> \ class query_integer_type<sizeof (TYPE), std::numeric_limits<TYPE>::is_signed> \ { \ public: \ static const bool registered = true; \ typedef TYPE type; \ }
#define REGISTER_OCTAVE_CMP_OP | ( | NM, | |||
OP | ) |
#define REGISTER_OCTAVE_CONST_OP | ( | NM, | |||
value | ) |
typedef octave_int<int16_t> octave_int16 |
typedef octave_int<int32_t> octave_int32 |
typedef octave_int<int64_t> octave_int64 |
typedef octave_int<int8_t> octave_int8 |
typedef octave_int<uint16_t> octave_uint16 |
typedef octave_int<uint32_t> octave_uint32 |
typedef octave_int<uint64_t> octave_uint64 |
typedef octave_int<uint8_t> octave_uint8 |
octave_int<T> bitshift | ( | const octave_int< T > & | a, | |
int | n, | |||
const octave_int< T > & | mask = std::numeric_limits<T>::max () | |||
) | [inline] |
std::ostream& operator<< | ( | std::ostream & | os, | |
const octave_int< T > & | ival | |||
) | [inline] |
std::istream& operator>> | ( | std::istream & | is, | |
octave_int< T > & | ival | |||
) | [inline] |
OCTAVE_API octave_int<T> pow | ( | const octave_int< T > & | a, | |
const double & | b | |||
) | [inline] |
OCTAVE_API octave_int<T> pow | ( | const double & | a, | |
const octave_int< T > & | b | |||
) | [inline] |
OCTAVE_API octave_int<T> pow | ( | const octave_int< T > & | , | |
const octave_int< T > & | ||||
) | [inline] |
OCTAVE_API octave_int<T> powf | ( | const octave_int< T > & | a, | |
const float & | b | |||
) | [inline] |
OCTAVE_API octave_int<T> powf | ( | const float & | a, | |
const octave_int< T > & | b | |||
) | [inline] |
REGISTER_INT_TYPE | ( | uint64_t | ) |
REGISTER_INT_TYPE | ( | int64_t | ) |
REGISTER_INT_TYPE | ( | uint32_t | ) |
REGISTER_INT_TYPE | ( | int32_t | ) |
REGISTER_INT_TYPE | ( | uint16_t | ) |
REGISTER_INT_TYPE | ( | int16_t | ) |
REGISTER_INT_TYPE | ( | uint8_t | ) |
REGISTER_INT_TYPE | ( | int8_t | ) |
bool xisnan | ( | const octave_int< T > & | ) | [inline] |