OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項

詳細描述

SoftFloat 是一個根據 IEEE 754 標準實現的浮點計算軟體。所有計算都在整數中完成,因此它們與機器無關且位精確。這個庫在精度要求高的部分(如查詢表生成、測試等)非常有用。OpenCV 包含 SoftFloat 的一個子集,該子集已部分重寫為 C++。

型別

存在兩種基本型別:softfloatsoftdouble。這些型別分別與 float 和 double 型別二進位制相容,並支援與它們之間的轉換。原始 SoftFloat 庫中的其他型別(如 fp16 或 fp128)以及安靜/訊號 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)
 Cube root.
 
softdouble cv::cos (const softdouble &a)
 Cosine.
 
static softdouble cv::softdouble::eps ()
 1 和下一個可表示值之間的差。
 
static softfloat cv::softfloat::eps ()
 1 和下一個可表示值之間的差。
 
softdouble cv::exp (const softdouble &a)
 
softfloat cv::exp (const softfloat &a)
 指數函式。
 
static softdouble cv::softdouble::fromRaw (const uint64_t a)
 從原始資料構造。
 
static const 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
 獲取符號位。
 
static softdouble cv::softdouble::inf ()
 正無窮大常數。
 
static softfloat cv::softfloat::inf ()
 正無窮大常數。
 
bool cv::softdouble::isInf () const
 Inf 狀態指示器。
 
bool cv::softfloat::isInf () const
 Inf 狀態指示器。
 
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)
 
static softdouble cv::softdouble::max ()
 最大有限值。
 
static softfloat cv::softfloat::max ()
 最大有限值。
 
softdouble cv::min (const softdouble &a, const softdouble &b)
 
softfloat cv::min (const softfloat &a, const softfloat &b)
 最小值和最大值函式。
 
static softdouble cv::softdouble::min ()
 最小歸一化值。
 
static 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)
 熔合乘加。
 
static softdouble cv::softdouble::nan ()
 預設 NaN 常數。
 
static softfloat cv::softfloat::nan ()
 預設 NaN 常數。
 
static softdouble cv::softdouble::one ()
 1 常數。
 
static softfloat cv::softfloat::one ()
 1 常數。
 
 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
 
static softdouble cv::softdouble::pi ()
 正確的 pi 近似值。
 
static softfloat cv::softfloat::pi ()
 正確的 pi 近似值。
 
softdouble cv::pow (const softdouble &a, const softdouble &b)
 
softfloat cv::pow (const softfloat &a, const softfloat &b)
 冪運算。
 
template<typename _Tp >
static _Tp cv::saturate_cast (softdouble a)
 
template<typename _Tp >
static _Tp cv::saturate_cast (softfloat a)
 飽和轉換。
 
template<>
int64_t cv::saturate_cast< int64_t > (softdouble a)
 
template<>
int64_t cv::saturate_cast< int64_t > (softfloat a)
 
template<>
schar cv::saturate_cast< schar > (softdouble a)
 
template<>
schar cv::saturate_cast< schar > (softfloat a)
 
template<>
short cv::saturate_cast< short > (softdouble a)
 
template<>
short cv::saturate_cast< short > (softfloat a)
 
template<>
uchar cv::saturate_cast< uchar > (softdouble a)
 
template<>
uchar cv::saturate_cast< uchar > (softfloat a)
 
template<>
uint64_t cv::saturate_cast< uint64_t > (softdouble a)
 
template<>
uint64_t cv::saturate_cast< uint64_t > (softfloat a)
 
template<>
unsigned cv::saturate_cast< unsigned > (softdouble a)
 
template<>
unsigned cv::saturate_cast< unsigned > (softfloat a)
 飽和轉換為無符號整數和無符號長長整數。我們故意不裁剪負數,以使 -1 變為 0xffffffff 等。
 
template<>
ushort cv::saturate_cast< ushort > (softdouble a)
 
template<>
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)
 平方根。
 
static softdouble cv::softdouble::zero ()
 零常數。
 
static softfloat cv::softfloat::zero ()
 零常數。
 

變數

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

函式文件

◆ softdouble() [1/7]

cv::softdouble::softdouble ( )
inline

#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 )
顯式

◆ softdouble() [4/7]

cv::softdouble::softdouble ( const int64_t )
顯式

◆ softdouble() [5/7]

cv::softdouble::softdouble ( const softdouble & c)
inline

#include <opencv2/core/softfloat.hpp>

複製建構函式。

◆ softdouble() [6/7]

cv::softdouble::softdouble ( const uint32_t )
顯式

#include <opencv2/core/softfloat.hpp>

從整數構造。

◆ softdouble() [7/7]

cv::softdouble::softdouble ( const uint64_t )
顯式

◆ softfloat() [1/7]

cv::softfloat::softfloat ( )
inline

#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 )
顯式

◆ softfloat() [4/7]

cv::softfloat::softfloat ( const int64_t )
顯式

◆ softfloat() [5/7]

cv::softfloat::softfloat ( const softfloat & c)
inline

#include <opencv2/core/softfloat.hpp>

複製建構函式。

◆ softfloat() [6/7]

cv::softfloat::softfloat ( const uint32_t )
顯式

#include <opencv2/core/softfloat.hpp>

從整數構造。

◆ softfloat() [7/7]

cv::softfloat::softfloat ( const uint64_t )
顯式

◆ abs() [1/2]

softdouble cv::abs ( softdouble a)
inline

◆ abs() [2/2]

softfloat cv::abs ( softfloat a)
inline

#include <opencv2/core/softfloat.hpp>

絕對值。

◆ cbrt()

softfloat cv::cbrt ( const softfloat & a)

#include <opencv2/core/softfloat.hpp>

Cube root.

特殊情況

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

◆ cos()

softdouble cv::cos ( const softdouble & a)

#include <opencv2/core/softfloat.hpp>

Cosine.

特殊情況

  • 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
inline

#include <opencv2/core/softfloat.hpp>

獲取基於 0 的指數。

◆ getExp() [2/2] (過載)

int cv::softfloat::getExp ( ) const
inline

#include <opencv2/core/softfloat.hpp>

獲取基於 0 的指數。

◆ getFrac() [1/2] (過載)

softdouble cv::softdouble::getFrac ( ) const
inline

#include <opencv2/core/softfloat.hpp>

獲取小數部分。

返回一個具有相同有效數的數字,範圍在 1 <= x < 2。

◆ getFrac() [2/2] (過載)

softfloat cv::softfloat::getFrac ( ) const
inline

#include <opencv2/core/softfloat.hpp>

獲取小數部分。

返回一個具有相同有效數的數字,範圍在 1 <= x < 2。

◆ getSign() [1/2] (過載)

bool cv::softdouble::getSign ( ) const
inline

#include <opencv2/core/softfloat.hpp>

獲取符號位。

◆ getSign() [2/2] (過載)

bool cv::softfloat::getSign ( ) const
inline

#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
inline

#include <opencv2/core/softfloat.hpp>

Inf 狀態指示器。

◆ isInf() [2/2] (過載)

bool cv::softfloat::isInf ( ) const
inline

#include <opencv2/core/softfloat.hpp>

Inf 狀態指示器。

◆ isNaN() [1/2] (過載)

bool cv::softdouble::isNaN ( ) const
inline

#include <opencv2/core/softfloat.hpp>

NaN 狀態指示器。

◆ isNaN() [2/2] (過載)

bool cv::softfloat::isNaN ( ) const
inline

#include <opencv2/core/softfloat.hpp>

NaN 狀態指示器。

◆ isSubnormal() [1/2] (過載)

bool cv::softdouble::isSubnormal ( ) const
inline

#include <opencv2/core/softfloat.hpp>

次正規數指示器。

◆ isSubnormal() [2/2] (過載)

bool cv::softfloat::isSubnormal ( ) const
inline

#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 )
inline
Python
cv.max(src1, src2[, dst]) -> dst

◆ max() [2/4] (過載)

softfloat cv::max ( const softfloat & a,
const softfloat & b )
inline
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 )
inline
Python
cv.min(src1, src2[, dst]) -> dst

◆ min() [2/4] (過載)

softfloat cv::min ( const softfloat & a,
const softfloat & b )
inline
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>

1 常數。

◆ one() [2/2] (過載)

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

#include <opencv2/core/softfloat.hpp>

1 常數。

◆ operator double()

cv::softdouble::operator double ( ) const
inline

◆ operator float()

cv::softfloat::operator float ( ) const
inline

◆ 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)
inline

◆ operator%=() [2/2] (過載)

softfloat & cv::softfloat::operator%= ( const softfloat & a)
inline

◆ 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)
inline

◆ operator*=() [2/2] (過載)

softfloat & cv::softfloat::operator*= ( const softfloat & a)
inline

◆ 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)
inline

◆ operator+=() [2/2] (過載)

softfloat & cv::softfloat::operator+= ( const softfloat & a)
inline

◆ operator-() [1/4] (過載)

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

◆ operator-() [2/4] (過載)

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

◆ operator-() [3/4] (過載)

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

◆ operator-() [4/4] (過載)

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

◆ operator-=() [1/2] (過載)

softdouble & cv::softdouble::operator-= ( const softdouble & a)
inline

◆ operator-=() [2/2] (過載)

softfloat & cv::softfloat::operator-= ( const softfloat & a)
inline

◆ 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)
inline

◆ operator/=() [2/2] (過載)

softfloat & cv::softfloat::operator/= ( const softfloat & a)
inline

◆ 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)
inline

#include <opencv2/core/softfloat.hpp>

賦值建構函式。

◆ operator=() [2/2] (過載)

softfloat & cv::softfloat::operator= ( const softfloat & c)
inline

#include <opencv2/core/softfloat.hpp>

賦值建構函式。

◆ operator==() [1/2] (過載)

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

#include <opencv2/core/softfloat.hpp>

比較運算。

  • 任何涉及 NaN 的運算都會產生 false。
    • 唯一的例外是當 x 為 NaN 時:對於任何 y,x != y。
  • 正零和負零相等。

◆ operator==() [2/2] (過載)

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

#include <opencv2/core/softfloat.hpp>

比較運算。

  • 任何涉及 NaN 的運算都會產生 false。
    • 唯一的例外是當 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 近似值。

◆ pi() [2/2] (過載)

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

#include <opencv2/core/softfloat.hpp>

正確的 pi 近似值。

◆ 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] (過載)

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

◆ saturate_cast() [2/2] (過載)

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

#include <opencv2/core/softfloat.hpp>

飽和轉換。

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

template<>
int64_t cv::saturate_cast< int64_t > ( softdouble a)
inline

#include <opencv2/core/softfloat.hpp>

此函式的呼叫圖如下

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

template<>
int64_t cv::saturate_cast< int64_t > ( softfloat a)
inline

#include <opencv2/core/softfloat.hpp>

此函式的呼叫圖如下

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

template<>
schar cv::saturate_cast< schar > ( softdouble a)
inline

#include <opencv2/core/softfloat.hpp>

此函式的呼叫圖如下

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

template<>
schar cv::saturate_cast< schar > ( softfloat a)
inline

#include <opencv2/core/softfloat.hpp>

此函式的呼叫圖如下

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

template<>
short cv::saturate_cast< short > ( softdouble a)
inline

#include <opencv2/core/softfloat.hpp>

此函式的呼叫圖如下

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

template<>
short cv::saturate_cast< short > ( softfloat a)
inline

#include <opencv2/core/softfloat.hpp>

此函式的呼叫圖如下

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

template<>
uchar cv::saturate_cast< uchar > ( softdouble a)
inline

#include <opencv2/core/softfloat.hpp>

此函式的呼叫圖如下

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

template<>
uchar cv::saturate_cast< uchar > ( softfloat a)
inline

#include <opencv2/core/softfloat.hpp>

此函式的呼叫圖如下

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

template<>
uint64_t cv::saturate_cast< uint64_t > ( softdouble a)
inline

#include <opencv2/core/softfloat.hpp>

此函式的呼叫圖如下

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

template<>
uint64_t cv::saturate_cast< uint64_t > ( softfloat a)
inline

#include <opencv2/core/softfloat.hpp>

此函式的呼叫圖如下

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

template<>
unsigned cv::saturate_cast< unsigned > ( softdouble a)
inline

#include <opencv2/core/softfloat.hpp>

此函式的呼叫圖如下

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

template<>
unsigned cv::saturate_cast< unsigned > ( softfloat a)
inline

#include <opencv2/core/softfloat.hpp>

飽和轉換為無符號整數和無符號長長整數。我們故意不裁剪負數,以使 -1 變為 0xffffffff 等。

此函式的呼叫圖如下

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

template<>
ushort cv::saturate_cast< ushort > ( softdouble a)
inline

#include <opencv2/core/softfloat.hpp>

此函式的呼叫圖如下

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

template<>
ushort cv::saturate_cast< ushort > ( softfloat a)
inline

#include <opencv2/core/softfloat.hpp>

此函式的呼叫圖如下

◆ setExp() [1/2] (過載)

softdouble cv::softdouble::setExp ( int e) const
inline

#include <opencv2/core/softfloat.hpp>

構造一個具有新 0 基指數的副本。

◆ setExp() [2/2] (過載)

softfloat cv::softfloat::setExp ( int e) const
inline

#include <opencv2/core/softfloat.hpp>

構造一個具有新 0 基指數的副本。

◆ setFrac() [1/2] (過載)

softdouble cv::softdouble::setFrac ( const softdouble & s) const
inline

#include <opencv2/core/softfloat.hpp>

構造一個具有提供的尾數的副本。

構造一個數字的副本,其有效數取自引數

◆ setFrac() [2/2] (過載)

softfloat cv::softfloat::setFrac ( const softfloat & s) const
inline

#include <opencv2/core/softfloat.hpp>

構造一個具有提供的尾數的副本。

構造一個數字的副本,其有效數取自引數

◆ setSign() [1/2] (過載)

softdouble cv::softdouble::setSign ( bool 符號) const
inline

#include <opencv2/core/softfloat.hpp>

構造一個具有新符號位的副本。

◆ setSign() [2/2] (過載)

softfloat cv::softfloat::setSign ( bool 符號) const
inline

#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