Main Content

fimath

固定小数点の算術設定を指定

説明

F = fimathfimath オブジェクトを fimath の既定のプロパティ設定で作成します。

F = fimath(Name,Value) は 1 つ以上の名前と値のペアの引数を使用して fimath オブジェクトのプロパティを指定します。コンストラクターで指定されないプロパティについては、いずれも既定値が使用されます。

すべて折りたたむ

この例では、既定のプロパティ設定で fimath オブジェクトを作成する方法を示します。

F = fimath
F = 
        RoundingMethod: Nearest
        OverflowAction: Saturate
           ProductMode: FullPrecision
               SumMode: FullPrecision

fimath オブジェクトのプロパティは、名前と値のペアを使用したオブジェクトの作成時に設定します。たとえば、オーバーフロー アクションを飽和に、丸め手法を最も近い偶数方向の丸めに設定します。

F = fimath('OverflowAction','Saturate','RoundingMethod','Convergent')
F = 
        RoundingMethod: Convergent
        OverflowAction: Saturate
           ProductMode: FullPrecision
               SumMode: FullPrecision

入力引数

すべて折りたたむ

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後に表示されなければなりませんが、ペアの順序は重要ではありません。

R2021a より前は、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

例: F = fimath('OverflowAction','Saturate','RoundingMethod','Floor')

両方のオペランドが加算前に加算データ型にキャストされるかどうか。数値または logical の 1 (true) または 0 (false) として指定します。

メモ

SumModeFullPrecision に設定されていると、このプロパティは非表示になります。

例: F = fimath('CastBeforeSum',true)

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

乗算データ型の最大許容語長。正の整数として指定します。

例: F = fimath('MaxProductWordLength',16)

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

加算データ型の最大許容語長。正の整数として指定します。

例: F = fimath('MaxSumWordLength',16)

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

オーバーフロー時のアクション。次の値のいずれかとして指定します。

  • 'Saturate' – オーバーフロー時に固定小数点の範囲の最大値または最小値に飽和します。

  • 'Wrap' — オーバーフロー時にラップします。このモードは、2 の補数オーバーフローとも呼ばれます。

例: F = fimath('OverflowAction','Wrap')

データ型: char

乗算データ型のバイアス。浮動小数点数として指定します。

例: F = fimath('ProductBias',1)

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

乗算データ型の固定小数点の指数。非ゼロの整数として指定します。

メモ

ProductFractionLength は、ProductFixedExponent の負の値です。1 つのプロパティを変更すると、他のプロパティも変更されます。

例: F = fimath('ProductFixedExponent',-20)

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

乗算データ型の小数部の長さ (ビット単位)。非ゼロの整数として指定します。

メモ

ProductFractionLength は、ProductFixedExponent の負の値です。1 つのプロパティを変更すると、他のプロパティも変更されます。

例: F = fimath('ProductFractionLength',20)

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

乗算データ型の決定方法。次の値のいずれかとして指定します。

  • 'FullPrecision' – 結果の完全精度を維持します。

  • 'KeepLSB' – 最下位ビットを維持します。乗算の語長を指定します。小数部の長さは積の最下位ビットを維持するように設定されます。

  • 'KeepMSB' – 最上位ビットを維持します。乗算の語長を指定します。小数部の長さは積の最上位ビットを維持するように設定されます。

  • 'SpecifyPrecision' – 語長と小数部の長さまたは乗算の勾配とバイアスを指定します。

例: F = fimath('ProductMode','KeepLSB')

データ型: char

乗算データ型の勾配。有限の正の浮動小数点数として指定します。

メモ

ProductSlope=ProductSlopeAdjustmentFactor×2ProductFixedExponent

これらのプロパティの 1 つを変更すると、他のプロパティに影響を与えます。

例: F = fimath('ProductSlope',9.3132e-10)

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

乗算データ型の勾配調整係数。1 以上 2 未満の浮動小数点数として指定します。

メモ

ProductSlope=ProductSlopeAdjustmentFactor×2ProductFixedExponent

これらのプロパティの 1 つを変更すると、他のプロパティに影響を与えます。

例: F = fimath('ProductSlopeAdjustmentFactor',1)

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

乗算データ型の語長 (ビット単位)。正の整数として指定します。

例: F = fimath('ProductWordLength',64)

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

使用する丸め手法。次の値のいずれかとして指定します。

  • 'Nearest' – 最も近い整数方向に丸めます。等距離の場合は、正の無限大方向に丸めます。

  • 'Ceiling' – 正の無限大方向に丸めます。

  • 'Convergent' – 最も近い整数方向に丸めます。等距離の場合は、最も近い偶数の格納整数に丸めます (最小バイアス)。

  • 'Zero' – ゼロ方向に丸めます。

  • 'Floor' – 負の無限大方向に丸めます。

  • 'Round' – 最も近い整数方向に丸めます。等距離の場合、負数に対しては負の無限大方向に丸め、正数に対しては正の無限大方向に丸めます。

例: F = fimath('RoundingMethod','Convergent')

データ型: char

加算データ型のバイアス。浮動小数点数として指定します。

例: F = fimath('SumBias',0)

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

加算データ型の固定小数点の指数。非ゼロの整数として指定します。

メモ

SumFractionLength は、SumFixedExponent の負の値です。1 つのプロパティを変更すると、他のプロパティも変更されます。

例: F = fimath('SumFixedExponent',-20)

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

加算データ型の小数部の長さ (ビット単位)。非ゼロの整数として指定します。

メモ

SumFractionLength は、SumFixedExponent の負の値です。1 つのプロパティを変更すると、他のプロパティも変更されます。

例: F = fimath('SumFractionLength',20)

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

加算データ型の決定方法。次の値のいずれかとして指定します。

  • 'FullPrecision' – 結果の完全精度を維持します。

  • 'KeepLSB' – 最下位ビットを維持します。加算データ型の語長を指定します。小数部の長さは合計の最下位ビットを維持するように設定されます。

  • 'KeepMSB' – 最上位ビットを維持します。加算データ型の語長を指定します。小数部の長さは合計の最上位ビットを維持するように設定され、必要以上の小数部ビットはありません。

  • 'SpecifyPrecision' – 加算データ型の語長と小数部の長さまたは勾配とバイアスを指定します。

例: F = fimath('SumMode','KeepLSB')

データ型: char

加算データ型の勾配。浮動小数点数として指定します。

メモ

SumSlope=SumSlopeAdjustmentFactor×2SumFixedExponent

これらのプロパティの 1 つを変更すると、他のプロパティに影響を与えます。

例: F = fimath('SumSlope',9.3132e-10)

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

加算データ型の勾配調整係数。1 以上 2 未満の浮動小数点数として指定します。

メモ

SumSlope=SumSlopeAdjustmentFactor×2SumFixedExponent

これらのプロパティの 1 つを変更すると、他のプロパティに影響を与えます。

例: F = fimath('SumSlopeAdjustmentFactor',1)

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

加算データ型の語長 (ビット単位)。正の整数として指定します。

例: F = fimath('SumWordLength',64)

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

拡張機能

HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための VHDL、Verilog および SystemVerilog のコードを生成します。

バージョン履歴

R2006a より前に導入

すべて展開する