OpenCV 4.13.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 4.13.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。

詳細説明

SoftFloat はIEEE 754標準に従った浮動小数点計算のソフトウェア実装である。すべての計算は整数で行われるため、マシン非依存でビット単位の正確さを持つ。このライブラリは、ルックアップテーブルの生成やテストなど、精度が重要な部分で役立つ。OpenCVには部分的にC++に書き直されたSoftFloatのサブセットが含まれている。

基本となる型は2つある: softfloatsoftdouble である。これらの型はそれぞれfloat型およびdouble型とバイナリ互換であり、これらとの相互変換をサポートする。元のSoftFloatライブラリのfp16やfp128などの他の型は、quiet/signaling NaNサポート、オンザフライの丸めモード切り替え、例外フラグとともに削除された(ただし例外は将来実装される可能性がある)。

演算

両方の型は次をサポートする:

クラス

struct  cv::softdouble
 
struct  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)
 余弦。
 
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)
 MinおよびMax関数。
 
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)
 積和演算 (Fused Multiplication and Addition)。
 
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 ()
 円周率の正確な近似値。
 
static softfloat cv::softfloat::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 ()
 0 を表す定数。
 
static softfloat cv::softfloat::zero ()
 0 を表す定数。
 

変数

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 )
explicit

◆ softdouble() [4/7]

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

◆ softdouble() [5/7]

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

#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 ( )
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 )
explicit

◆ softfloat() [4/7]

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

◆ softfloat() [5/7]

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

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

立方根。

特殊なケース:

  • 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
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およびMax関数。

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

積和融合演算(FMA)。

(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 がちょうど2つの整数の中間にある場合、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 がちょうど2つの整数の中間にある場合、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>

比較演算。

  • Any operation with NaN produces false
    • 唯一の例外は x が NaN の場合である: 任意の y に対して x != y となる。
  • 正のゼロと負のゼロは等しい

◆ operator==() [2/2]

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

#include <opencv2/core/softfloat.hpp>

比較演算。

  • Any operation with NaN produces 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>

符号なし整数および符号なしlong long整数への飽和キャスト。-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 sign) const
inline

#include <opencv2/core/softfloat.hpp>

新しい符号ビットを持つコピーを構築する。

◆ setSign() [2/2]

softfloat cv::softfloat::setSign ( bool sign) 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