YSTest: rational.hpp 文件参考

YSTest PreAlpha_b700_20160611 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

- 文件列表
- 文件成员

类 | 命名空间 | 宏定义 | 类型定义 | 函数
rational.hpp 文件参考
YBaseLib » YStandardExtend

有理数运算。 更多...

`#include "cstdint.hpp"`
`#include "operators.hpp"`
`#include <libdefect/cmath.h>`
rational.hpp 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

## 类

struct | ystdex::is_normalizable< _type >
| 判断类型是否可满足正规化要求：在 0 和 1 之间存在值进行表示。 更多...
class | ystdex::fixed_point< _tBase, _vInt, _vFrac >
| 通用定点数。 更多...
struct | ystdex::modular_arithmetic< fixed_point< _tBase, _vInt, _vFrac > >
| modular_arithmetic 的 fixed_point 特化类型。 更多...
struct | ystdex::is_normalizable< fixed_point< _tBase, _vInt, _vFrac > >
| is_normalizable 的 fixed_point 特化类型。 更多...
struct | std::common_type< ystdex::fixed_point< _tBase1, _vInt1, _vFrac1 >, ystdex::fixed_point< _tBase2, _vInt2, _vFrac2 > >
| std::common_type 的 ystdex::fixed_point 特化类型。 更多...
struct | std::common_type< ystdex::fixed_point< _tBase, _vInt, _vFrac >, _type >
| std::common_type 的 ystdex::fixed_point 和其它类型的特化类型。 更多...
struct | std::common_type< _type, ystdex::fixed_point< _tBase, _vInt, _vFrac > >
struct | std::hash< typename >
| ystdex::observer_ptr 散列支持。 更多...
struct | std::hash< ystdex::fixed_point< _tBase, _vInt, _vFrac > >
class | std::numeric_limits< ystdex::fixed_point< _tBase, _vInt, _vFrac > >
| std::numeric_rational 的 ystdex::fixed_point 特化类型。 更多...
class | std::numeric_limits< const ystdex::fixed_point< _tBase, _vInt, _vFrac > >
class | std::numeric_limits< volatile ystdex::fixed_point< _tBase, _vInt, _vFrac > >
class | std::numeric_limits< const volatile ystdex::fixed_point< _tBase, _vInt, _vFrac > >

## 命名空间

| ystdex
| <functional> 特性测试宏。
| std

## 宏定义

#define | YB_Impl_Rational_fp_T fixed_point<_tBase, _vInt, _vFrac>
#define | YB_Impl_Rational_fp_T1 fixed_point<_tBase1, _vInt1, _vFrac1>
#define | YB_Impl_Rational_fp_T2 fixed_point<_tBase2, _vInt2, _vFrac2>
#define | YB_Impl_Rational_fp_PList typename _tBase, size_t _vInt, size_t _vFrac
#define | YB_Impl_Rational_fp_PList1 typename _tBase1, size_t _vInt1, size_t _vFrac1
#define | YB_Impl_Rational_fp_PList2 typename _tBase2, size_t _vInt2, size_t _vFrac2
#define | YB_Impl_Rational_fp_TmplHead_2 template<YB_Impl_Rational_fp_PList1, YB_Impl_Rational_fp_PList2>
#define | YB_Impl_Rational_fp_TmplHead_2_l template<YB_Impl_Rational_fp_PList, typename _type>
#define | YB_Impl_Rational_fp_TmplHead_2_r template<typename _type, YB_Impl_Rational_fp_PList>
#define | YB_Impl_Rational_fp_TmplBody_Impl_2(_op)
#define | YB_Impl_Rational_fp_TmplSig_2(_op)
#define | YB_Impl_Rational_fp_TmplSig_2_l(_op) operator _op(const YB_Impl_Rational_fp_T& x, const _type& y)
#define | YB_Impl_Rational_fp_TmplSig_2_r(_op) operator _op(const _type& x, const YB_Impl_Rational_fp_T& y)
#define | YB_Impl_Rational_fp_arithmetic2(_op)
| 不同模板参数的二元算术操作符。 更多...
#define | YB_Impl_Rational_fp_rational2(_op)
| 不同模板参数的二元关系操作符。 更多...

## 类型定义

template<size_t _vFrac, size_t _vInt = 1, bool _bSigned = false>
using | ystdex::make_fixed_t = fixed_point< conditional_t< _bSigned, typename make_width_int< _vFrac+_vInt >::least_type, typename make_width_int< _vFrac+_vInt >::unsigned_least_type >, _vFrac >
| 取包括指定有效二进制位和至少指定位整数的定点数类型。 更多...

## 函数

template<typename _type >
_type | ystdex::pow_int (_type x, size_t n)
| 计算整数次幂。 更多...
template<typename _type >
_type | ystdex::square (_type x)
| 计算平方。 更多...
template<typename _type >
_type | ystdex::cube (_type x)
| 计算立方。 更多...
template<typename _type >
_type | ystdex::quad (_type x)
| 计算四次方。 更多...
template<typename _type >
enable_if_t< is_floating_point< _type >::value, bool > | ystdex::is_zero (_type x)
| 判断指定的值是否为零值。 更多...
template<typename _type , typename = enable_if_t<!is_floating_point<_type>::value>>
bool | ystdex::is_zero (_type x)
template<typename _type >
_type | ystdex::round_in_nocheck (_type x, _type err)
| 指定误差内舍入。 更多...
template<typename _type >
_type | ystdex::round_in (_type x, _type err)

## 详细描述

有理数运算。

版本
  r2097

作者
  FrankHB frank.nosp@m.hb19.nosp@m.89@gm.nosp@m.ail..nosp@m.com

自从
  build 260

创建时间:
  2011-11-12 23:23:47 +0800

修改时间:
  2016-04-25 15:39 +0805

文本编码:
  UTF-8

模块名称:
  YStandardEx::Rational

在文件 rational.hpp 中定义.

## 宏定义说明

#define YB_Impl_Rational_fp_arithmetic2 | ( |  | _op | ) |

值:
YB_Impl_Rational_fp_TmplHead_2 \
yconstfn common_type_t<YB_Impl_Rational_fp_T1, YB_Impl_Rational_fp_T2> \
YB_Impl_Rational_fp_TmplSig_2(_op) \
YB_Impl_Rational_fp_TmplBody_Impl_2(_op) \
\
YB_Impl_Rational_fp_TmplHead_2_l \
yconstfn enable_if_t<is_arithmetic<_type>::value, \
common_type_t<YB_Impl_Rational_fp_T, _type>> \
YB_Impl_Rational_fp_TmplSig_2_l(_op) \
YB_Impl_Rational_fp_TmplBody_Impl_2(_op) \
\
YB_Impl_Rational_fp_TmplHead_2_r \
yconstfn enable_if_t<is_arithmetic<_type>::value, \
common_type_t<_type, YB_Impl_Rational_fp_T>> \
YB_Impl_Rational_fp_TmplSig_2_r(_op) \
YB_Impl_Rational_fp_TmplBody_Impl_2(_op)
YB_Impl_Rational_fp_TmplBody_Impl_2
#define YB_Impl_Rational_fp_TmplBody_Impl_2(_op)
Definition: rational.hpp:479
YB_Impl_Rational_fp_TmplSig_2_r
#define YB_Impl_Rational_fp_TmplSig_2_r(_op)
Definition: rational.hpp:491
YB_Impl_Rational_fp_TmplSig_2
#define YB_Impl_Rational_fp_TmplSig_2(_op)
Definition: rational.hpp:486
YB_Impl_Rational_fp_TmplSig_2_l
#define YB_Impl_Rational_fp_TmplSig_2_l(_op)
Definition: rational.hpp:489
yconstfn
#define yconstfn
指定编译时常量函数。
Definition: ydef.h:654

不同模板参数的二元算术操作符。

自从
  build 439

在文件 rational.hpp 第 499 行定义.

#define YB_Impl_Rational_fp_PList typename _tBase, size_t _vInt, size_t _vFrac

在文件 rational.hpp 第 135 行定义.

#define YB_Impl_Rational_fp_PList1 typename _tBase1, size_t _vInt1, size_t _vFrac1

在文件 rational.hpp 第 137 行定义.

#define YB_Impl_Rational_fp_PList2 typename _tBase2, size_t _vInt2, size_t _vFrac2

在文件 rational.hpp 第 139 行定义.

#define YB_Impl_Rational_fp_rational2 | ( |  | _op | ) |

值:
YB_Impl_Rational_fp_TmplHead_2 \
yconstfn bool \
YB_Impl_Rational_fp_TmplSig_2(_op) \
YB_Impl_Rational_fp_TmplBody_Impl_2(_op) \
\
YB_Impl_Rational_fp_TmplHead_2_l \
yconstfn bool \
YB_Impl_Rational_fp_TmplSig_2_l(_op) \
YB_Impl_Rational_fp_TmplBody_Impl_2(_op) \
\
YB_Impl_Rational_fp_TmplHead_2_r \
yconstfn bool \
YB_Impl_Rational_fp_TmplSig_2_r(_op) \
YB_Impl_Rational_fp_TmplBody_Impl_2(_op)
YB_Impl_Rational_fp_TmplBody_Impl_2
#define YB_Impl_Rational_fp_TmplBody_Impl_2(_op)
Definition: rational.hpp:479
YB_Impl_Rational_fp_TmplSig_2_r
#define YB_Impl_Rational_fp_TmplSig_2_r(_op)
Definition: rational.hpp:491
YB_Impl_Rational_fp_TmplSig_2
#define YB_Impl_Rational_fp_TmplSig_2(_op)
Definition: rational.hpp:486
YB_Impl_Rational_fp_TmplSig_2_l
#define YB_Impl_Rational_fp_TmplSig_2_l(_op)
Definition: rational.hpp:489
yconstfn
#define yconstfn
指定编译时常量函数。
Definition: ydef.h:654

不同模板参数的二元关系操作符。

自从
  build 440

在文件 rational.hpp 第 530 行定义.

#define YB_Impl_Rational_fp_T fixed_point<_tBase, _vInt, _vFrac>

在文件 rational.hpp 第 132 行定义.

#define YB_Impl_Rational_fp_T1 fixed_point<_tBase1, _vInt1, _vFrac1>

在文件 rational.hpp 第 133 行定义.

#define YB_Impl_Rational_fp_T2 fixed_point<_tBase2, _vInt2, _vFrac2>

在文件 rational.hpp 第 134 行定义.

#define YB_Impl_Rational_fp_TmplBody_Impl_2 | ( |  | _op | ) |

值:
{ \
using result_type \
= common_type_t<decay_t<decltype(x)>, decay_t<decltype(y)>>; \
\
return result_type(x) _op result_type(y); \
}
YSLib::Drawing::TextState::x
const TextState &ts const TextState &ts const TextState &ts TextState SPos x
Definition: TextBase.h:190
YSLib::UI::y
SPos SPos y
Definition: YWidget.cpp:44

在文件 rational.hpp 第 479 行定义.

#define YB_Impl_Rational_fp_TmplHead_2 template<YB_Impl_Rational_fp_PList1, YB_Impl_Rational_fp_PList2>

在文件 rational.hpp 第 473 行定义.

#define YB_Impl_Rational_fp_TmplHead_2_l template<YB_Impl_Rational_fp_PList, typename _type>

在文件 rational.hpp 第 475 行定义.

#define YB_Impl_Rational_fp_TmplHead_2_r template<typename _type, YB_Impl_Rational_fp_PList>

在文件 rational.hpp 第 477 行定义.

#define YB_Impl_Rational_fp_TmplSig_2 | ( |  | _op | ) |

值:
operator _op(const YB_Impl_Rational_fp_T1& x, \
const YB_Impl_Rational_fp_T2& y)
YSLib::Drawing::TextState::x
const TextState &ts const TextState &ts const TextState &ts TextState SPos x
Definition: TextBase.h:190
YB_Impl_Rational_fp_T2
#define YB_Impl_Rational_fp_T2
Definition: rational.hpp:134
YB_Impl_Rational_fp_T1
#define YB_Impl_Rational_fp_T1
Definition: rational.hpp:133
YSLib::UI::y
SPos SPos y
Definition: YWidget.cpp:44

在文件 rational.hpp 第 486 行定义.

#define YB_Impl_Rational_fp_TmplSig_2_l | ( |  | _op | ) | operator _op(const YB_Impl_Rational_fp_T& x, const _type& y)

在文件 rational.hpp 第 489 行定义.

#define YB_Impl_Rational_fp_TmplSig_2_r | ( |  | _op | ) | operator _op(const _type& x, const YB_Impl_Rational_fp_T& y)

在文件 rational.hpp 第 491 行定义.