OpenCV 4.11.0
开源计算机视觉库
加载中…
搜索中…
无匹配项

详细描述

SoftFloat 是根据 IEEE 754 标准实现浮点计算的软件库。所有计算都在整数中进行,因此它们与机器无关且位精确。此库可用于精度要求高的部分,例如查找表生成、测试等。OpenCV 包含部分重写为 C++ 的 SoftFloat 子集。

类型

有两种基本类型:softfloatsoftdouble。这些类型分别与 float 和 double 类型二进制兼容,并支持与它们的相互转换。原始 SoftFloat 库中的其他类型(如 fp16 或 fp128)以及 quiet/signaling NaN 支持、动态舍入模式切换和异常标志都被丢弃了(尽管将来可以实现异常)。

操作

两种类型都支持以下操作:

结构体  cv::softdouble
 
结构体  cv::softfloat
 

函数

 cv::softdouble::softdouble ()
 默认构造函数。
 
 cv::softdouble::softdouble (const double a)
 从 double 构造。
 
 cv::softdouble::softdouble (const int32_t)
 
 cv::softdouble::softdouble (const int64_t)
 
 cv::softdouble::softdouble (const softdouble &c)
 复制构造函数。
 
 cv::softdouble::softdouble (const uint32_t)
 从整数构造。
 
 cv::softdouble::softdouble (const uint64_t)
 
 cv::softfloat::softfloat ()
 默认构造函数。
 
 cv::softfloat::softfloat (const float a)
 从 float 构造。
 
 cv::softfloat::softfloat (const int32_t)
 
 cv::softfloat::softfloat (const int64_t)
 
 cv::softfloat::softfloat (const softfloat &c)
 复制构造函数。
 
 cv::softfloat::softfloat (const uint32_t)
 从整数构造。
 
 cv::softfloat::softfloat (const uint64_t)
 
softdouble cv::abs (softdouble a)
 
softfloat cv::abs (softfloat a)
 绝对值。
 
softfloat cv::cbrt (const softfloat &a)
 立方根。
 
softdouble cv::cos (const softdouble &a)
 余弦。
 
静态 softdouble cv::softdouble::eps ()
 1 与下一个可表示值之间的差。
 
静态 softfloat cv::softfloat::eps ()
 1 与下一个可表示值之间的差。
 
softdouble cv::exp (const softdouble &a)
 
softfloat cv::exp (const softfloat &a)
 指数。
 
静态 softdouble cv::softdouble::fromRaw (const uint64_t a)
 从原始数据构造。
 
静态常量 softfloat cv::softfloat::fromRaw (const uint32_t a)
 从原始数据构造。
 
int cv::softdouble::getExp () const
 获取基于 0 的指数。
 
int cv::softfloat::getExp () const
 获取基于 0 的指数。
 
softdouble cv::softdouble::getFrac () const
 获取小数部分。
 
softfloat cv::softfloat::getFrac () const
 获取小数部分。
 
bool cv::softdouble::getSign () const
 获取符号位。
 
bool cv::softfloat::getSign () const
 获取符号位。
 
静态 softdouble cv::softdouble::inf ()
 正无穷常量。
 
静态 softfloat cv::softfloat::inf ()
 正无穷常量。
 
bool cv::softdouble::isInf () const
 无穷状态指示器。
 
bool cv::softfloat::isInf () const
 无穷状态指示器。
 
bool cv::softdouble::isNaN () const
 NaN 状态指示器。
 
bool cv::softfloat::isNaN () const
 NaN 状态指示器。
 
bool cv::softdouble::isSubnormal () const
 次正规数指示器。
 
bool cv::softfloat::isSubnormal () const
 次正规数指示器。
 
softdouble cv::log (const softdouble &a)
 
softfloat cv::log (const softfloat &a)
 自然对数。
 
softdouble cv::max (const softdouble &a, const softdouble &b)
 
softfloat cv::max (const softfloat &a, const softfloat &b)
 
静态 softdouble cv::softdouble::max ()
 最大有限值。
 
静态 softfloat cv::softfloat::max ()
 最大有限值。
 
softdouble cv::min (const softdouble &a, const softdouble &b)
 
softfloat cv::min (const softfloat &a, const softfloat &b)
 最小值和最大值函数。
 
静态 softdouble cv::softdouble::min ()
 最小规格化值。
 
静态 softfloat cv::softfloat::min ()
 最小规格化值。
 
softdouble cv::mulAdd (const softdouble &a, const softdouble &b, const softdouble &c)
 
softfloat cv::mulAdd (const softfloat &a, const softfloat &b, const softfloat &c)
 融合乘法和加法。
 
静态 softdouble cv::softdouble::nan ()
 默认NaN常量。
 
静态 softfloat cv::softfloat::nan ()
 默认NaN常量。
 
静态 softdouble cv::softdouble::one ()
 一常量。
 
静态 softfloat cv::softfloat::one ()
 一常量。
 
 cv::softdouble::operator double () const
 
 cv::softfloat::operator float () const
 
 cv::softfloat::operator softdouble () const
 类型转换

 
 cv::softdouble::operator softfloat () const
 类型转换

 
bool cv::softdouble::operator!= (const softdouble &) const
 
bool cv::softfloat::operator!= (const softfloat &) const
 
softdouble cv::softdouble::operator% (const softdouble &) const
 求余运算符。
 
softfloat cv::softfloat::operator% (const softfloat &) const
 求余运算符。
 
softdoublecv::softdouble::operator%= (const softdouble &a)
 
softfloatcv::softfloat::operator%= (const softfloat &a)
 
softdouble cv::softdouble::operator* (const softdouble &) const
 
softfloat cv::softfloat::operator* (const softfloat &) const
 
softdoublecv::softdouble::operator*= (const softdouble &a)
 
softfloatcv::softfloat::operator*= (const softfloat &a)
 
softdouble cv::softdouble::operator+ (const softdouble &) const
 基本算术运算。
 
softfloat cv::softfloat::operator+ (const softfloat &) const
 基本算术运算。
 
softdoublecv::softdouble::operator+= (const softdouble &a)
 
softfloatcv::softfloat::operator+= (const softfloat &a)
 
softdouble cv::softdouble::operator- () const
 
softdouble cv::softdouble::operator- (const softdouble &) const
 
softfloat cv::softfloat::operator- () const
 
softfloat cv::softfloat::operator- (const softfloat &) const
 
softdoublecv::softdouble::operator-= (const softdouble &a)
 
softfloatcv::softfloat::operator-= (const softfloat &a)
 
softdouble cv::softdouble::operator/ (const softdouble &) const
 
softfloat cv::softfloat::operator/ (const softfloat &) const
 
softdoublecv::softdouble::operator/= (const softdouble &a)
 
softfloatcv::softfloat::operator/= (const softfloat &a)
 
bool cv::softdouble::operator< (const softdouble &) const
 
bool cv::softfloat::operator< (const softfloat &) const
 
bool cv::softdouble::operator<= (const softdouble &) const
 
bool cv::softfloat::operator<= (const softfloat &) const
 
softdoublecv::softdouble::operator= (const softdouble &c)
 赋值构造函数。
 
softfloatcv::softfloat::operator= (const softfloat &c)
 赋值构造函数。
 
bool cv::softdouble::operator== (const softdouble &) const
 比较运算。
 
bool cv::softfloat::operator== (const softfloat &) const
 比较运算。
 
bool cv::softdouble::operator> (const softdouble &) const
 
bool cv::softfloat::operator> (const softfloat &) const
 
bool cv::softdouble::operator>= (const softdouble &) const
 
bool cv::softfloat::operator>= (const softfloat &) const
 
静态 softdouble cv::softdouble::pi ()
 正确的π近似值。
 
静态 softfloat cv::softfloat::pi ()
 正确的π近似值。
 
softdouble cv::pow (const softdouble &a, const softdouble &b)
 
softfloat cv::pow (const softfloat &a, const softfloat &b)
 幂运算。
 
模板<typename _Tp >
静态 _Tp cv::saturate_cast (softdouble a)
 
模板<typename _Tp >
静态 _Tp cv::saturate_cast (softfloat a)
 饱和转换。
 
模板特化
int64_t cv::saturate_cast< int64_t > (softdouble a)
 
模板特化
int64_t cv::saturate_cast< int64_t > (softfloat a)
 
模板特化
schar cv::saturate_cast< schar > (softdouble a)
 
模板特化
schar cv::saturate_cast< schar > (softfloat a)
 
模板特化
short cv::saturate_cast< short > (softdouble a)
 
模板特化
short cv::saturate_cast< short > (softfloat a)
 
模板特化
uchar cv::saturate_cast< uchar > (softdouble a)
 
模板特化
uchar cv::saturate_cast< uchar > (softfloat a)
 
模板特化
uint64_t cv::saturate_cast< uint64_t > (softdouble a)
 
模板特化
uint64_t cv::saturate_cast< uint64_t > (softfloat a)
 
模板特化
unsigned cv::saturate_cast< unsigned > (softdouble a)
 
模板特化
unsigned cv::saturate_cast< unsigned > (softfloat a)
 饱和转换为无符号整数和无符号长长整数。我们故意不裁剪负数,以使-1变为0xffffffff等。
 
模板特化
ushort cv::saturate_cast< ushort > (softdouble a)
 
模板特化
ushort cv::saturate_cast< ushort > (softfloat a)
 
softdouble cv::softdouble::setExp (int e) const
 构造一个具有新的基于0的指数的副本。
 
softfloat cv::softfloat::setExp (int e) const
 构造一个具有新的基于0的指数的副本。
 
softdouble cv::softdouble::setFrac (const softdouble &s) const
 构造一个具有提供的尾数的副本。
 
softfloat cv::softfloat::setFrac (const softfloat &s) const
 构造一个具有提供的尾数的副本。
 
softdouble cv::softdouble::setSign (bool sign) const
 构造一个具有新的符号位的副本。
 
softfloat cv::softfloat::setSign (bool sign) const
 构造一个具有新的符号位的副本。
 
softdouble cv::sin (const softdouble &a)
 正弦。
 
softdouble cv::sqrt (const softdouble &a)
 
softfloat cv::sqrt (const softfloat &a)
 平方根。
 
静态 softdouble cv::softdouble::zero ()
 零常量。
 
静态 softfloat cv::softfloat::zero ()
 零常量。
 

变量

uint64_t cv::softdouble::v
 
uint32_t cv::softfloat::v
 

函数文档

◆ softdouble() [1/7]

cv::softdouble::softdouble ( )
内联

#include <opencv2/core/softfloat.hpp>

默认构造函数。

◆ softdouble() [2/7]

cv::softdouble::softdouble ( const double a)
inlineexplicit

#include <opencv2/core/softfloat.hpp>

从 double 构造。

◆ softdouble() [3/7]

cv::softdouble::softdouble ( const int32_t )
explicit

◆ softdouble() [4/7]

cv::softdouble::softdouble ( const int64_t )
explicit

◆ softdouble() [5/7]

cv::softdouble::softdouble ( const softdouble & c)
内联

#include <opencv2/core/softfloat.hpp>

复制构造函数。

◆ softdouble() [6/7]

cv::softdouble::softdouble ( const uint32_t )
explicit

#include <opencv2/core/softfloat.hpp>

从整数构造。

◆ softdouble() [7/7]

cv::softdouble::softdouble ( const uint64_t )
explicit

◆ softfloat() [1/7]

cv::softfloat::softfloat ( )
内联

#include <opencv2/core/softfloat.hpp>

默认构造函数。

◆ softfloat() [2/7]

cv::softfloat::softfloat ( const float a)
inlineexplicit

#include <opencv2/core/softfloat.hpp>

从 float 构造。

◆ softfloat() [3/7]

cv::softfloat::softfloat ( const int32_t )
explicit

◆ softfloat() [4/7]

cv::softfloat::softfloat ( const int64_t )
explicit

◆ softfloat() [5/7]

cv::softfloat::softfloat ( const softfloat & c)
内联

#include <opencv2/core/softfloat.hpp>

复制构造函数。

◆ softfloat() [6/7]

cv::softfloat::softfloat ( const uint32_t )
explicit

#include <opencv2/core/softfloat.hpp>

从整数构造。

◆ softfloat() [7/7]

cv::softfloat::softfloat ( const uint64_t )
explicit

◆ abs() [1/2]

softdouble cv::abs ( softdouble a)
内联

◆ abs() [2/2]

softfloat cv::abs ( softfloat a)
内联

#include <opencv2/core/softfloat.hpp>

绝对值。

◆ cbrt()

softfloat cv::cbrt ( const softfloat & a)

#include <opencv2/core/softfloat.hpp>

立方根。

特殊情况

  • cbrt(NaN) 为 NaN
  • cbrt(+/-Inf) 为 +/-Inf

◆ cos()

softdouble cv::cos ( const softdouble & a)

#include <opencv2/core/softfloat.hpp>

余弦。

特殊情况

  • cos(Inf) 或 cos(NaN) 为 NaN
  • 当 cos(x) 接近 +/- 1 时,cos(x) == +/- 1

◆ eps() [1/2]

static softdouble cv::softdouble::eps ( )
inlinestatic

#include <opencv2/core/softfloat.hpp>

1 与下一个可表示值之间的差。

◆ eps() [2/2]

static softfloat cv::softfloat::eps ( )
inlinestatic

#include <opencv2/core/softfloat.hpp>

1 与下一个可表示值之间的差。

◆ exp() [1/2]

softdouble cv::exp ( const softdouble & a)
Python
cv.exp(src[, dst]) -> dst

◆ exp() [2/2]

softfloat cv::exp ( const softfloat & a)
Python
cv.exp(src[, dst]) -> dst

#include <opencv2/core/softfloat.hpp>

指数。

特殊情况

  • exp(NaN) 为 NaN
  • exp(-Inf) == 0
  • exp(+Inf) == +Inf

◆ fromRaw() [1/2]

static softdouble cv::softdouble::fromRaw ( const uint64_t a)
inlinestatic

#include <opencv2/core/softfloat.hpp>

从原始数据构造。

从原始二进制表示构建新值。

◆ fromRaw() [2/2]

static const softfloat cv::softfloat::fromRaw ( const uint32_t a)
inlinestatic

#include <opencv2/core/softfloat.hpp>

从原始数据构造。

从原始二进制表示构建新值。

◆ getExp() [1/2]

int cv::softdouble::getExp ( ) const
内联

#include <opencv2/core/softfloat.hpp>

获取基于 0 的指数。

◆ getExp() [2/2]

int cv::softfloat::getExp ( ) const
内联

#include <opencv2/core/softfloat.hpp>

获取基于 0 的指数。

◆ getFrac() [1/2]

softdouble cv::softdouble::getFrac ( ) const
内联

#include <opencv2/core/softfloat.hpp>

获取小数部分。

返回一个具有相同尾数的数字,其值满足 1 <= x < 2

◆ getFrac() [2/2]

softfloat cv::softfloat::getFrac ( ) const
内联

#include <opencv2/core/softfloat.hpp>

获取小数部分。

返回一个具有相同尾数的数字,其值满足 1 <= x < 2

◆ getSign() [1/2]

bool cv::softdouble::getSign ( ) const
内联

#include <opencv2/core/softfloat.hpp>

获取符号位。

◆ getSign() [2/2]

bool cv::softfloat::getSign ( ) const
内联

#include <opencv2/core/softfloat.hpp>

获取符号位。

◆ inf() [1/2]

static softdouble cv::softdouble::inf ( )
inlinestatic

#include <opencv2/core/softfloat.hpp>

正无穷常量。

◆ inf() [2/2]

static softfloat cv::softfloat::inf ( )
inlinestatic

#include <opencv2/core/softfloat.hpp>

正无穷常量。

◆ isInf() [1/2]

bool cv::softdouble::isInf ( ) const
内联

#include <opencv2/core/softfloat.hpp>

无穷状态指示器。

◆ isInf() [2/2]

bool cv::softfloat::isInf ( ) const
内联

#include <opencv2/core/softfloat.hpp>

无穷状态指示器。

◆ isNaN() [1/2]

bool cv::softdouble::isNaN ( ) const
内联

#include <opencv2/core/softfloat.hpp>

NaN 状态指示器。

◆ isNaN() [2/2]

bool cv::softfloat::isNaN ( ) const
内联

#include <opencv2/core/softfloat.hpp>

NaN 状态指示器。

◆ isSubnormal() [1/2]

bool cv::softdouble::isSubnormal ( ) const
内联

#include <opencv2/core/softfloat.hpp>

次正规数指示器。

◆ isSubnormal() [2/2]

bool cv::softfloat::isSubnormal ( ) const
内联

#include <opencv2/core/softfloat.hpp>

次正规数指示器。

◆ log() [1/2]

softdouble cv::log ( const softdouble & a)
Python
cv.log(src[, dst]) -> dst

◆ log() [2/2]

softfloat cv::log ( const softfloat & a)
Python
cv.log(src[, dst]) -> dst

#include <opencv2/core/softfloat.hpp>

自然对数。

特殊情况

  • log(NaN), log(x < 0) 结果为 NaN
  • log(0) == -Inf

◆ max() [1/4]

softdouble cv::max ( const softdouble & a,
const softdouble & b )
内联
Python
cv.max(src1, src2[, dst]) -> dst

◆ max() [2/4]

softfloat cv::max ( const softfloat & a,
const softfloat & b )
内联
Python
cv.max(src1, src2[, dst]) -> dst

◆ max() [3/4]

static softdouble cv::softdouble::max ( )
inlinestatic

#include <opencv2/core/softfloat.hpp>

最大有限值。

◆ max() [4/4]

static softfloat cv::softfloat::max ( )
inlinestatic

#include <opencv2/core/softfloat.hpp>

最大有限值。

◆ min() [1/4]

softdouble cv::min ( const softdouble & a,
const softdouble & b )
内联
Python
cv.min(src1, src2[, dst]) -> dst

◆ min() [2/4]

softfloat cv::min ( const softfloat & a,
const softfloat & b )
内联
Python
cv.min(src1, src2[, dst]) -> dst

#include <opencv2/core/softfloat.hpp>

最小值和最大值函数。

◆ min() [3/4]

static softdouble cv::softdouble::min ( )
inlinestatic

#include <opencv2/core/softfloat.hpp>

最小规格化值。

◆ min() [4/4]

static softfloat cv::softfloat::min ( )
inlinestatic

#include <opencv2/core/softfloat.hpp>

最小规格化值。

◆ mulAdd() [1/2]

softdouble cv::mulAdd ( const softdouble & a,
const softdouble & b,
const softdouble & c )

◆ mulAdd() [2/2]

softfloat cv::mulAdd ( const softfloat & a,
const softfloat & b,
const softfloat & c )

#include <opencv2/core/softfloat.hpp>

融合乘法和加法。

计算 (a*b)+c,进行单次舍入

◆ nan() [1/2]

static softdouble cv::softdouble::nan ( )
inlinestatic

#include <opencv2/core/softfloat.hpp>

默认NaN常量。

◆ nan() [2/2]

static softfloat cv::softfloat::nan ( )
inlinestatic

#include <opencv2/core/softfloat.hpp>

默认NaN常量。

◆ one() [1/2]

static softdouble cv::softdouble::one ( )
inlinestatic

#include <opencv2/core/softfloat.hpp>

一常量。

◆ one() [2/2]

static softfloat cv::softfloat::one ( )
inlinestatic

#include <opencv2/core/softfloat.hpp>

一常量。

◆ operator double()

cv::softdouble::operator double ( ) const
内联

◆ operator float()

cv::softfloat::operator float ( ) const
内联

◆ operator softdouble()

cv::softfloat::operator softdouble ( ) const

#include <opencv2/core/softfloat.hpp>

类型转换

◆ operator softfloat()

cv::softdouble::operator softfloat ( ) const

#include <opencv2/core/softfloat.hpp>

类型转换

◆ operator!=() [1/2]

bool cv::softdouble::operator!= ( const softdouble & ) const

◆ operator!=() [2/2]

bool cv::softfloat::operator!= ( const softfloat & ) const

◆ operator%() [1/2]

softdouble cv::softdouble::operator% ( const softdouble & ) const

#include <opencv2/core/softfloat.hpp>

求余运算符。

摘自原始 SoftFloat 手册

IEEE 标准余数运算计算值 a - n * b,其中 n 是最接近 a / b 的整数。如果 a / b 正好位于两个整数之间,则 n 是最接近 a / b 的偶数整数。IEEE 标准的余数运算总是精确的,因此不需要舍入。根据操作数的相对大小,余数函数的执行时间可能比其他 SoftFloat 函数长得多。这是余数运算本身的固有特性,而不是 SoftFloat 实现中的缺陷。

◆ operator%() [2/2]

softfloat cv::softfloat::operator% ( const softfloat & ) const

#include <opencv2/core/softfloat.hpp>

求余运算符。

摘自原始 SoftFloat 手册

IEEE 标准余数运算计算值 a - n * b,其中 n 是最接近 a / b 的整数。如果 a / b 正好位于两个整数之间,则 n 是最接近 a / b 的偶数整数。IEEE 标准的余数运算总是精确的,因此不需要舍入。根据操作数的相对大小,余数函数的执行时间可能比其他 SoftFloat 函数长得多。这是余数运算本身的固有特性,而不是 SoftFloat 实现中的缺陷。

◆ operator%=() [1/2]

softdouble & cv::softdouble::operator%= ( const softdouble & a)
内联

◆ operator%=() [2/2]

softfloat & cv::softfloat::operator%= ( const softfloat & a)
内联

◆ operator*() [1/2]

softdouble cv::softdouble::operator* ( const softdouble & ) const

◆ operator*() [2/2]

softfloat cv::softfloat::operator* ( const softfloat & ) const

◆ operator*=() [1/2]

softdouble & cv::softdouble::operator*= ( const softdouble & a)
内联

◆ operator*=() [2/2]

softfloat & cv::softfloat::operator*= ( const softfloat & a)
内联

◆ operator+() [1/2]

softdouble cv::softdouble::operator+ ( const softdouble & ) const

#include <opencv2/core/softfloat.hpp>

基本算术运算。

◆ operator+() [2/2]

softfloat cv::softfloat::operator+ ( const softfloat & ) const

#include <opencv2/core/softfloat.hpp>

基本算术运算。

◆ operator+=() [1/2]

softdouble & cv::softdouble::operator+= ( const softdouble & a)
内联

◆ operator+=() [2/2]

softfloat & cv::softfloat::operator+= ( const softfloat & a)
内联

◆ operator-() [1/4]

softdouble cv::softdouble::operator- ( ) const
内联

◆ operator-() [2/4]

softdouble cv::softdouble::operator- ( const softdouble & ) const

◆ operator-() [3/4]

softfloat cv::softfloat::operator- ( ) const
内联

◆ operator-() [4/4]

softfloat cv::softfloat::operator- ( const softfloat & ) const

◆ operator-=() [1/2]

softdouble & cv::softdouble::operator-= ( const softdouble & a)
内联

◆ operator-=() [2/2]

softfloat & cv::softfloat::operator-= ( const softfloat & a)
内联

◆ operator/() [1/2]

softdouble cv::softdouble::operator/ ( const softdouble & ) const

◆ operator/() [2/2]

softfloat cv::softfloat::operator/ ( const softfloat & ) const

◆ operator/=() [1/2]

softdouble & cv::softdouble::operator/= ( const softdouble & a)
内联

◆ operator/=() [2/2]

softfloat & cv::softfloat::operator/= ( const softfloat & a)
内联

◆ operator<() [1/2]

bool cv::softdouble::operator< ( const softdouble & ) const

◆ operator<() [2/2]

bool cv::softfloat::operator< ( const softfloat & ) const

◆ operator<=() [1/2]

bool cv::softdouble::operator<= ( const softdouble & ) const

◆ operator<=() [2/2]

bool cv::softfloat::operator<= ( const softfloat & ) const

◆ operator=() [1/2]

softdouble & cv::softdouble::operator= ( const softdouble & c)
内联

#include <opencv2/core/softfloat.hpp>

赋值构造函数。

◆ operator=() [2/2]

softfloat & cv::softfloat::operator= ( const softfloat & c)
内联

#include <opencv2/core/softfloat.hpp>

赋值构造函数。

◆ operator==() [1/2]

bool cv::softdouble::operator== ( const softdouble & ) const

#include <opencv2/core/softfloat.hpp>

比较运算。

  • 任何包含 NaN 的运算结果都为假。
    • 唯一的例外是当 x 为 NaN 时:对于任何 y,x != y。
  • 正零和负零相等。

◆ operator==() [2/2]

bool cv::softfloat::operator== ( const softfloat & ) const

#include <opencv2/core/softfloat.hpp>

比较运算。

  • 任何包含 NaN 的运算结果都为假。
    • 唯一的例外是当 x 为 NaN 时:对于任何 y,x != y。
  • 正零和负零相等。

◆ operator>() [1/2]

bool cv::softdouble::operator> ( const softdouble & ) const

◆ operator>() [2/2]

bool cv::softfloat::operator> ( const softfloat & ) const

◆ operator>=() [1/2]

bool cv::softdouble::operator>= ( const softdouble & ) const

◆ operator>=() [2/2]

bool cv::softfloat::operator>= ( const softfloat & ) const

◆ pi() [1/2]

static softdouble cv::softdouble::pi ( )
inlinestatic

#include <opencv2/core/softfloat.hpp>

正确的π近似值。

◆ pi() [2/2]

static softfloat cv::softfloat::pi ( )
inlinestatic

#include <opencv2/core/softfloat.hpp>

正确的π近似值。

◆ pow() [1/2]

softdouble cv::pow ( const softdouble & a,
const softdouble & b )
Python
cv.pow(src, power[, dst]) -> dst

◆ pow() [2/2]

softfloat cv::pow ( const softfloat & a,
const softfloat & b )
Python
cv.pow(src, power[, dst]) -> dst

#include <opencv2/core/softfloat.hpp>

幂运算。

特殊情况

  • 对于任何 x,x**NaN 为 NaN。
  • ( |x| == 1 )**Inf 为 NaN。
  • ( |x| > 1 )**+Inf 或 ( |x| < 1 )**-Inf 为 +Inf。
  • ( |x| > 1 )**-Inf 或 ( |x| < 1 )**+Inf 为 0。
  • 对于任何 x,x ** 0 == 1。
  • 对于任何 x,x ** 1 == 1。
  • 对于任何其他 y,NaN ** y 为 NaN。
  • Inf**(y < 0) == 0。
  • 对于任何其他 y,Inf ** y 为 +Inf。
  • 如果 x 无法正确舍入到整数,则对于任何其他 y,(x < 0)**y 为 NaN。
  • 0 ** 0 == 1
  • 0 ** (y < 0) 为 +Inf。
  • 0 ** (y > 0) 为 0。

◆ saturate_cast() [1/2]

模板<typename _Tp >
static _Tp cv::saturate_cast ( softdouble a)
inlinestatic

◆ saturate_cast() [2/2]

模板<typename _Tp >
static _Tp cv::saturate_cast ( softfloat a)
inlinestatic

#include <opencv2/core/softfloat.hpp>

饱和转换。

◆ saturate_cast< int64_t >() [1/2]

模板特化
int64_t cv::saturate_cast< int64_t > ( softdouble a)
内联

#include <opencv2/core/softfloat.hpp>

以下是此函数的调用图。

◆ saturate_cast< int64_t >() [2/2]

模板特化
int64_t cv::saturate_cast< int64_t > ( softfloat a)
内联

#include <opencv2/core/softfloat.hpp>

以下是此函数的调用图。

◆ saturate_cast< schar >() [1/2]

模板特化
schar cv::saturate_cast< schar > ( softdouble a)
内联

#include <opencv2/core/softfloat.hpp>

以下是此函数的调用图。

◆ saturate_cast< schar >() [2/2]

模板特化
schar cv::saturate_cast< schar > ( softfloat a)
内联

#include <opencv2/core/softfloat.hpp>

以下是此函数的调用图。

◆ saturate_cast< short >() [1/2]

模板特化
short cv::saturate_cast< short > ( softdouble a)
内联

#include <opencv2/core/softfloat.hpp>

以下是此函数的调用图。

◆ saturate_cast< short >() [2/2]

模板特化
short cv::saturate_cast< short > ( softfloat a)
内联

#include <opencv2/core/softfloat.hpp>

以下是此函数的调用图。

◆ saturate_cast< uchar >() [1/2]

模板特化
uchar cv::saturate_cast< uchar > ( softdouble a)
内联

#include <opencv2/core/softfloat.hpp>

以下是此函数的调用图。

◆ saturate_cast< uchar >() [2/2]

模板特化
uchar cv::saturate_cast< uchar > ( softfloat a)
内联

#include <opencv2/core/softfloat.hpp>

以下是此函数的调用图。

◆ saturate_cast< uint64_t >() [1/2]

模板特化
uint64_t cv::saturate_cast< uint64_t > ( softdouble a)
内联

#include <opencv2/core/softfloat.hpp>

以下是此函数的调用图。

◆ saturate_cast< uint64_t >() [2/2]

模板特化
uint64_t cv::saturate_cast< uint64_t > ( softfloat a)
内联

#include <opencv2/core/softfloat.hpp>

以下是此函数的调用图。

◆ saturate_cast< unsigned >() [1/2]

模板特化
unsigned cv::saturate_cast< unsigned > ( softdouble a)
内联

#include <opencv2/core/softfloat.hpp>

以下是此函数的调用图。

◆ saturate_cast< unsigned >() [2/2]

模板特化
unsigned cv::saturate_cast< unsigned > ( softfloat a)
内联

#include <opencv2/core/softfloat.hpp>

饱和转换为无符号整数和无符号长长整数。我们故意不裁剪负数,以使-1变为0xffffffff等。

以下是此函数的调用图。

◆ saturate_cast< ushort >() [1/2]

模板特化
ushort cv::saturate_cast< ushort > ( softdouble a)
内联

#include <opencv2/core/softfloat.hpp>

以下是此函数的调用图。

◆ saturate_cast< ushort >() [2/2]

模板特化
ushort cv::saturate_cast< ushort > ( softfloat a)
内联

#include <opencv2/core/softfloat.hpp>

以下是此函数的调用图。

◆ setExp() [1/2]

softdouble cv::softdouble::setExp ( int e) const
内联

#include <opencv2/core/softfloat.hpp>

构造一个具有新的基于0的指数的副本。

◆ setExp() [2/2]

softfloat cv::softfloat::setExp ( int e) const
内联

#include <opencv2/core/softfloat.hpp>

构造一个具有新的基于0的指数的副本。

◆ setFrac() [1/2]

softdouble cv::softdouble::setFrac ( const softdouble & s) const
内联

#include <opencv2/core/softfloat.hpp>

构造一个具有提供的尾数的副本。

使用参数中的有效位构建数字的副本

◆ setFrac() [2/2]

softfloat cv::softfloat::setFrac ( const softfloat & s) const
内联

#include <opencv2/core/softfloat.hpp>

构造一个具有提供的尾数的副本。

使用参数中的有效位构建数字的副本

◆ setSign() [1/2]

softdouble cv::softdouble::setSign ( bool sign) const
内联

#include <opencv2/core/softfloat.hpp>

构造一个具有新的符号位的副本。

◆ setSign() [2/2]

softfloat cv::softfloat::setSign ( bool sign) const
内联

#include <opencv2/core/softfloat.hpp>

构造一个具有新的符号位的副本。

◆ sin()

softdouble cv::sin ( const softdouble & a)

#include <opencv2/core/softfloat.hpp>

正弦。

特殊情况

  • sin(Inf) 或 sin(NaN) 为 NaN
  • 当 sin(x) 接近于零时,sin(x) == x

◆ sqrt() [1/2]

softdouble cv::sqrt ( const softdouble & a)
Python
cv.sqrt(src[, dst]) -> dst

◆ sqrt() [2/2]

softfloat cv::sqrt ( const softfloat & a)
Python
cv.sqrt(src[, dst]) -> dst

#include <opencv2/core/softfloat.hpp>

平方根。

◆ zero() [1/2]

static softdouble cv::softdouble::zero ( )
inlinestatic

#include <opencv2/core/softfloat.hpp>

零常量。

◆ zero() [2/2]

static softfloat cv::softfloat::zero ( )
inlinestatic

#include <opencv2/core/softfloat.hpp>

零常量。

变量文档

◆ v [1/2]

uint64_t cv::softdouble::v

◆ v [2/2]

uint32_t cv::softfloat::v