メインページ   クラス階層   構成   ファイル一覧   構成メンバ   ファイルメンバ  

oct-inttypes.h の解説

#include <limits>
#include <iostream>
#include "data-conv.h"
#include "lo-ieee.h"
#include "lo-mappers.h"

oct-inttypes.hのインクルード依存関係図

Include dependency graph

このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。

Included by dependency graph

ソースコードを見る。

構成

class  octave_int
class  octave_int_binop_traits

マクロ定義

#define octave_inttypes_h   1
#define OCTAVE_INT_BINOP_TRAIT(T1, T2, T3)
#define OCTAVE_US_S_FTR(T1, T2, TC)
#define OCTAVE_US_S_FTR_FCNS(T)
#define OCTAVE_S_US_FTR(T1, T2)
#define OCTAVE_S_US_FTR_FCNS(T)
#define OCTAVE_INT_FIT_TO_RANGE(r, T)
#define OCTAVE_INT_MIN_VAL2(T1, T2)   std::numeric_limits<typename octave_int_binop_traits<T1, T2>::TR>::min ()
#define OCTAVE_INT_MAX_VAL2(T1, T2)   std::numeric_limits<typename octave_int_binop_traits<T1, T2>::TR>::max ()
#define OCTAVE_INT_FIT_TO_RANGE2(r, T1, T2)
#define OCTAVE_INT_BIN_OP(OP)
#define OCTAVE_INT_DOUBLE_BIN_OP(OP)
#define OCTAVE_DOUBLE_INT_BIN_OP(OP)
#define OCTAVE_INT_DOUBLE_CMP_OP(OP)
#define OCTAVE_DOUBLE_INT_CMP_OP(OP)
#define OCTAVE_INT_BITCMP_OP(OP)
#define OCTAVE_INT_CMP_OP(OP)
#define OCTAVE_US_TYPE1_CMP_OP_DECL(OP, LTZ_VAL, UT, ST)   bool operator OP (const octave_int<UT>& lhs, const octave_int<ST>& rhs);
#define OCTAVE_US_TYPE1_CMP_OP_DECLS(UT, ST)
#define OCTAVE_SU_TYPE1_CMP_OP_DECL(OP, LTZ_VAL, ST, UT)   bool operator OP (const octave_int<ST>& lhs, const octave_int<UT>& rhs);
#define OCTAVE_SU_TYPE1_CMP_OP_DECLS(ST, UT)
#define OCTAVE_TYPE1_CMP_OP_DECLS(UT, ST)
#define OCTAVE_US_TYPE2_CMP_OP_DECL(OP, LTZ_VAL, UT, ST)   bool operator OP (const octave_int<UT>& lhs, const octave_int<ST>& rhs);
#define OCTAVE_US_TYPE2_CMP_OP_DECLS(ST, UT)
#define OCTAVE_SU_TYPE2_CMP_OP_DECL(OP, LTZ_VAL, ST, UT)   bool operator OP (const octave_int<ST>& lhs, const octave_int<UT>& rhs);
#define OCTAVE_SU_TYPE2_CMP_OP_DECLS(ST, UT)
#define OCTAVE_TYPE2_CMP_OP_DECLS(UT, ST)

Typedef

typedef signed char octave_int8_t
typedef TWO_BYTE_INT octave_int16_t
typedef FOUR_BYTE_INT octave_int32_t
typedef EIGHT_BYTE_INT octave_int64_t
typedef unsigned char octave_uint8_t
typedef unsigned TWO_BYTE_INT octave_uint16_t
typedef unsigned FOUR_BYTE_INT octave_uint32_t
typedef unsigned EIGHT_BYTE_INT octave_uint64_t
typedef octave_int< octave_int8_toctave_int8
typedef octave_int< octave_int16_toctave_int16
typedef octave_int< octave_int32_toctave_int32
typedef octave_int< octave_int64_toctave_int64
typedef octave_int< octave_uint8_toctave_uint8
typedef octave_int< octave_uint16_toctave_uint16
typedef octave_int< octave_uint32_toctave_uint32
typedef octave_int< octave_uint64_toctave_uint64

関数

 OCTAVE_INT_BINOP_TRAIT (octave_int8_t, octave_int8_t, octave_int8_t)
template<class T1, class T2> T2 octave_int_fit_to_range (const T1 &x, const T2 &mn, const T2 &mx)
template<class T> octave_int< T > pow (const octave_int< T > &a, const octave_int< T > &b)
template<class T> octave_int< T > pow (double a, const octave_int< T > &b)
template<class T> octave_int< T > pow (const octave_int< T > &a, double 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 T1, class T2> octave_int< typename octave_int_binop_traits<
T1, T2 >::TR > 
operator/ (const octave_int< T1 > &x, const octave_int< T2 > &y)
template<class T1, class T2> octave_int< T1 > operator<< (const octave_int< T1 > &x, const T2 &y)
template<class T1, class T2> octave_int< T1 > operator>> (const octave_int< T1 > &x, const T2 &y)
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 OCTAVE_DOUBLE_INT_BIN_OP OP   
 

値:

template <class T> \
  octave_int<T> \
  operator OP (double x, const octave_int<T>& y) \
  { \
    double ty = static_cast<double> (y.value ()); \
    double r = x OP ty; \
    r = lo_ieee_isnan (r) ? 0 : xround (r); \
    return OCTAVE_INT_FIT_TO_RANGE (r, T); \
  }

oct-inttypes.h448 行で定義されています。

#define OCTAVE_DOUBLE_INT_CMP_OP OP   
 

値:

template <class T> \
  bool \
  operator OP (const double& x, const octave_int<T>& y) \
  { \
    double ty = static_cast<double> (y.value ()); \
    return x OP ty; \
  }

oct-inttypes.h480 行で定義されています。

#define OCTAVE_INT_BIN_OP OP   
 

値:

template <class T1, class T2> \
  octave_int<typename octave_int_binop_traits<T1, T2>::TR> \
  operator OP (const octave_int<T1>& x, const octave_int<T2>& y) \
  { \
    double tx = static_cast<double> (x.value ()); \
    double ty = static_cast<double> (y.value ()); \
    double r = tx OP ty; \
    return OCTAVE_INT_FIT_TO_RANGE2 (r, T1, T2); \
  }

oct-inttypes.h407 行で定義されています。

#define OCTAVE_INT_BINOP_TRAIT T1,
T2,
T3   
 

値:

template<> \
  class octave_int_binop_traits <T1, T2> \
  { \
  public: \
    typedef T3 TR; \
  }

oct-inttypes.h52 行で定義されています。

#define OCTAVE_INT_BITCMP_OP OP   
 

値:

template <class T> \
  octave_int<T> \
  operator OP (const octave_int<T>& x, const octave_int<T>& y) \
  { \
    return x.value () OP y.value (); \
  }

oct-inttypes.h496 行で定義されています。

#define OCTAVE_INT_CMP_OP OP   
 

値:

template <class T1, class T2> \
  bool \
  operator OP (const octave_int<T1>& x, const octave_int<T2>& y) \
  { \
    return x.value () OP y.value (); \
  }

oct-inttypes.h537 行で定義されています。

#define OCTAVE_INT_DOUBLE_BIN_OP OP   
 

値:

template <class T> \
  octave_int<T> \
  operator OP (const octave_int<T>& x, double y) \
  { \
    double tx = static_cast<double> (x.value ()); \
    double r = xround (tx OP y); \
    r = lo_ieee_isnan (r) ? 0 : xround (r); \
    return OCTAVE_INT_FIT_TO_RANGE (r, T); \
  }

oct-inttypes.h432 行で定義されています。

#define OCTAVE_INT_DOUBLE_CMP_OP OP   
 

値:

template <class T> \
  bool \
  operator OP (const octave_int<T>& x, const double& y) \
  { \
    double tx = static_cast<double> (x.value ()); \
    return tx OP y; \
  }

oct-inttypes.h464 行で定義されています。

#define OCTAVE_INT_FIT_TO_RANGE r,
 
 

値:

octave_int_fit_to_range (r, \
                           std::numeric_limits<T>::min (), \
                           std::numeric_limits<T>::max ())

oct-inttypes.h194 行で定義されています。

呼出 octave_int< T >::octave_int(), octave_int< T >::operator *=(), octave_int< T >::operator+=(), octave_int< T >::operator-(), octave_int< T >::operator-=(), octave_int< T >::operator/=(), と pow().

#define OCTAVE_INT_FIT_TO_RANGE2 r,
T1,
T2   
 

値:

oct-inttypes.h205 行で定義されています。

呼出 operator/().

#define OCTAVE_INT_MAX_VAL2 T1,
T2       std::numeric_limits<typename octave_int_binop_traits<T1, T2>::TR>::max ()
 

oct-inttypes.h202 行で定義されています。

#define OCTAVE_INT_MIN_VAL2 T1,
T2       std::numeric_limits<typename octave_int_binop_traits<T1, T2>::TR>::min ()
 

oct-inttypes.h199 行で定義されています。

#define octave_inttypes_h   1
 

oct-inttypes.h24 行で定義されています。

#define OCTAVE_S_US_FTR T1,
T2   
 

値:

template <> \
  inline T2 \
  octave_int_fit_to_range<T1, T2> (const T1& x, const T2&, const T2&) \
  { \
    return x < 0 ? 0 : x; \
  }

oct-inttypes.h172 行で定義されています。

#define OCTAVE_S_US_FTR_FCNS  
 

値:

OCTAVE_S_US_FTR (T, unsigned char) \
  OCTAVE_S_US_FTR (T, unsigned short) \
  OCTAVE_S_US_FTR (T, unsigned int) \
  OCTAVE_S_US_FTR (T, unsigned long) \
  OCTAVE_S_US_FTR (T, unsigned long long)

oct-inttypes.h180 行で定義されています。

#define OCTAVE_SU_TYPE1_CMP_OP_DECL OP,
LTZ_VAL,
ST,
UT       bool operator OP (const octave_int<ST>& lhs, const octave_int<UT>& rhs);
 

oct-inttypes.h567 行で定義されています。

#define OCTAVE_SU_TYPE1_CMP_OP_DECLS ST,
UT   
 

値:

OCTAVE_SU_TYPE1_CMP_OP_DECL (<, true, ST, UT) \
  OCTAVE_SU_TYPE1_CMP_OP_DECL (<=, true, ST, UT) \
  OCTAVE_SU_TYPE1_CMP_OP_DECL (>=, false, ST, UT) \
  OCTAVE_SU_TYPE1_CMP_OP_DECL (>, false, ST, UT) \
  OCTAVE_SU_TYPE1_CMP_OP_DECL (==, false, ST, UT) \
  OCTAVE_SU_TYPE1_CMP_OP_DECL (!=, true, ST, UT)

oct-inttypes.h570 行で定義されています。

#define OCTAVE_SU_TYPE2_CMP_OP_DECL OP,
LTZ_VAL,
ST,
UT       bool operator OP (const octave_int<ST>& lhs, const octave_int<UT>& rhs);
 

oct-inttypes.h606 行で定義されています。

#define OCTAVE_SU_TYPE2_CMP_OP_DECLS ST,
UT   
 

値:

OCTAVE_SU_TYPE2_CMP_OP_DECL (<, true, ST, UT) \
  OCTAVE_SU_TYPE2_CMP_OP_DECL (<=, true, ST, UT) \
  OCTAVE_SU_TYPE2_CMP_OP_DECL (>=, false, ST, UT) \
  OCTAVE_SU_TYPE2_CMP_OP_DECL (>, false, ST, UT) \
  OCTAVE_SU_TYPE2_CMP_OP_DECL (==, false, ST, UT) \
  OCTAVE_SU_TYPE2_CMP_OP_DECL (!=, true, ST, UT)

oct-inttypes.h609 行で定義されています。

#define OCTAVE_TYPE1_CMP_OP_DECLS UT,
ST   
 

値:

oct-inttypes.h578 行で定義されています。

#define OCTAVE_TYPE2_CMP_OP_DECLS UT,
ST   
 

値:

oct-inttypes.h617 行で定義されています。

#define OCTAVE_US_S_FTR T1,
T2,
TC   
 

値:

template <> \
  inline T2 \
  octave_int_fit_to_range<T1, T2> (const T1& x, const T2&, const T2& mx) \
  { \
    return x > static_cast<TC> (mx) ? mx : x; \
  }

oct-inttypes.h145 行で定義されています。

#define OCTAVE_US_S_FTR_FCNS  
 

値:

OCTAVE_US_S_FTR (T, char, unsigned char) \
  OCTAVE_US_S_FTR (T, signed char, unsigned char) \
  OCTAVE_US_S_FTR (T, short, unsigned short) \
  OCTAVE_US_S_FTR (T, int, unsigned int) \
  OCTAVE_US_S_FTR (T, long, unsigned long) \
  OCTAVE_US_S_FTR (T, long long, unsigned long long)

oct-inttypes.h153 行で定義されています。

#define OCTAVE_US_TYPE1_CMP_OP_DECL OP,
LTZ_VAL,
UT,
ST       bool operator OP (const octave_int<UT>& lhs, const octave_int<ST>& rhs);
 

oct-inttypes.h556 行で定義されています。

#define OCTAVE_US_TYPE1_CMP_OP_DECLS UT,
ST   
 

値:

OCTAVE_US_TYPE1_CMP_OP_DECL (<, false, UT, ST) \
  OCTAVE_US_TYPE1_CMP_OP_DECL (<=, false, UT, ST) \
  OCTAVE_US_TYPE1_CMP_OP_DECL (>=, true, UT, ST) \
  OCTAVE_US_TYPE1_CMP_OP_DECL (>, true, UT, ST) \
  OCTAVE_US_TYPE1_CMP_OP_DECL (==, false, UT, ST) \
  OCTAVE_US_TYPE1_CMP_OP_DECL (!=, true, UT, ST)

oct-inttypes.h559 行で定義されています。

#define OCTAVE_US_TYPE2_CMP_OP_DECL OP,
LTZ_VAL,
UT,
ST       bool operator OP (const octave_int<UT>& lhs, const octave_int<ST>& rhs);
 

oct-inttypes.h595 行で定義されています。

#define OCTAVE_US_TYPE2_CMP_OP_DECLS ST,
UT   
 

値:

OCTAVE_US_TYPE2_CMP_OP_DECL (<, false, ST, UT) \
  OCTAVE_US_TYPE2_CMP_OP_DECL (<=, false, ST, UT) \
  OCTAVE_US_TYPE2_CMP_OP_DECL (>=, true, ST, UT) \
  OCTAVE_US_TYPE2_CMP_OP_DECL (>, true, ST, UT) \
  OCTAVE_US_TYPE2_CMP_OP_DECL (==, false, ST, UT) \
  OCTAVE_US_TYPE2_CMP_OP_DECL (!=, true, ST, UT)

oct-inttypes.h598 行で定義されています。


Typedef の解説

typedef octave_int<octave_int16_t> octave_int16
 

oct-inttypes.h398 行で定義されています。

typedef TWO_BYTE_INT octave_int16_t
 

oct-inttypes.h34 行で定義されています。

typedef octave_int<octave_int32_t> octave_int32
 

oct-inttypes.h399 行で定義されています。

typedef FOUR_BYTE_INT octave_int32_t
 

oct-inttypes.h35 行で定義されています。

typedef octave_int<octave_int64_t> octave_int64
 

oct-inttypes.h400 行で定義されています。

typedef EIGHT_BYTE_INT octave_int64_t
 

oct-inttypes.h36 行で定義されています。

typedef octave_int<octave_int8_t> octave_int8
 

oct-inttypes.h397 行で定義されています。

typedef signed char octave_int8_t
 

oct-inttypes.h33 行で定義されています。

typedef octave_int<octave_uint16_t> octave_uint16
 

oct-inttypes.h403 行で定義されています。

typedef unsigned TWO_BYTE_INT octave_uint16_t
 

oct-inttypes.h39 行で定義されています。

typedef octave_int<octave_uint32_t> octave_uint32
 

oct-inttypes.h404 行で定義されています。

typedef unsigned FOUR_BYTE_INT octave_uint32_t
 

oct-inttypes.h40 行で定義されています。

typedef octave_int<octave_uint64_t> octave_uint64
 

oct-inttypes.h405 行で定義されています。

typedef unsigned EIGHT_BYTE_INT octave_uint64_t
 

oct-inttypes.h41 行で定義されています。

typedef octave_int<octave_uint8_t> octave_uint8
 

oct-inttypes.h402 行で定義されています。

typedef unsigned char octave_uint8_t
 

oct-inttypes.h38 行で定義されています。


関数の解説

template<class T>
octave_int<T> bitshift const octave_int< T > &    a,
int    n,
const octave_int< T > &    mask = std::numeric_limits<T>::max ()
 

oct-inttypes.h526 行で定義されています。

OCTAVE_INT_BINOP_TRAIT octave_int8_t   ,
octave_int8_t   ,
octave_int8_t   
 

template<class T1, class T2>
T2 octave_int_fit_to_range const T1 &    x,
const T2 &    mn,
const T2 &    mx
[inline]
 

oct-inttypes.h134 行で定義されています。

template<class T1, class T2>
octave_int<typename octave_int_binop_traits<T1, T2>::TR> operator/ const octave_int< T1 > &    x,
const octave_int< T2 > &    y
 

oct-inttypes.h424 行で定義されています。

参照 OCTAVE_INT_FIT_TO_RANGE2, と octave_int< T >::value().

template<class T1, class T2>
octave_int<T1> operator<< const octave_int< T1 > &    x,
const T2 &    y
 

oct-inttypes.h510 行で定義されています。

template<class T>
std::ostream& operator<< std::ostream &    os,
const octave_int< T > &    ival
 

oct-inttypes.h381 行で定義されています。

template<class T1, class T2>
octave_int<T1> operator>> const octave_int< T1 > &    x,
const T2 &    y
 

oct-inttypes.h518 行で定義されています。

template<class T>
std::istream& operator>> std::istream &    is,
octave_int< T > &    ival
 

oct-inttypes.h389 行で定義されています。

template<class T>
octave_int<T> pow const octave_int< T > &    a,
double    b
 

oct-inttypes.h371 行で定義されています。

参照 b, lo_ieee_isnan(), OCTAVE_INT_FIT_TO_RANGE, octave_int< T >::value(), と xround().

呼出 pow(), ComplexNDArray::sumsq(), DET::value(), と ComplexDET::value().

template<class T>
octave_int<T> pow double    a,
const octave_int< T > &    b
 

oct-inttypes.h361 行で定義されています。

参照 b, lo_ieee_isnan(), OCTAVE_INT_FIT_TO_RANGE, pow(), octave_int< T >::value(), と xround().

template<class T>
octave_int<T> pow const octave_int< T > &    a,
const octave_int< T > &    b
 

oct-inttypes.h324 行で定義されています。

参照 b.


Wed Dec 29 13:00:56 2004に生成されました。 doxygen1.2.18
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送