fimath オブジェクト プロパティ
演算、丸め、オーバーフローのプロパティ
必要に応じて fimath
オブジェクトの以下のプロパティに書き込むことができます。
プロパティ | 説明 | 有効な値 |
---|---|---|
CastBeforeSum | 両方のオペランドが加算前に加算データ型にキャストされるかどうか |
メモ
|
MaxProductWordLength | 乗算データ型の最大許容語長 |
|
MaxSumWordLength | 加算データ型の最大許容語長 |
|
OverflowAction | オーバーフロー時のアクション |
|
ProductBias | 乗算データ型のバイアス |
|
ProductFixedExponent | 乗算データ型の固定小数点の指数 |
メモ
|
ProductFractionLength | 乗算データ型の小数部の長さ (ビット単位) |
メモ
|
ProductMode | 乗算データ型の決定方法の定義 |
|
ProductSlope | 乗算データ型の勾配 |
メモ これらのプロパティの 1 つを変更すると、他のプロパティに影響を与えます。 |
ProductSlopeAdjustmentFactor | 乗算データ型の勾配調整係数 |
メモ これらのプロパティの 1 つを変更すると、他のプロパティに影響を与えます。 |
ProductWordLength | 乗算データ型の語長 (ビット単位) |
|
RoundingMethod | 丸め手法 |
|
SumBias | 加算データ型のバイアス |
|
SumFixedExponent | 加算データ型の固定小数点の指数 |
メモ
|
SumFractionLength | 加算データ型の小数部の長さ (ビット単位) |
メモ
|
SumMode | 加算データ型の決定方法の定義 |
|
SumSlope | 加算データ型の勾配 |
メモ これらのプロパティの 1 つを変更すると、他のプロパティに影響を与えます。 |
SumSlopeAdjustmentFactor | 加算データ型の勾配調整係数 |
メモ これらのプロパティの 1 つを変更すると、他のプロパティに影響を与えます。 |
SumWordLength | 加算データ型の語長 (ビット単位) |
|
これらのプロパティの詳細は、Set fi Object Propertiesを参照してください。Fixed-Point Designer™ ソフトウェアにおける fimath
オブジェクトのプロパティの指定方法の詳細については、fimath オブジェクト プロパティの設定を参照してください。
プロパティの関連方法
加算データ型のプロパティ
2 つの fi
オブジェクトの加算の勾配は、次のように SumSlopeAdjustmentFactor
および SumFixedExponent
プロパティに関係しています。
これらのいずれかのプロパティが更新されると、他のプロパティもそれに応じて変更されます。
FullPrecision
の加算では、最終的な語長は次のように表されます。
ここで、それぞれ以下のようになります。
および
SumMode
を KeepLSB
に設定すると、最終的な語長と小数部の長さは次のように決定されます。
SumMode
を KeepMSB
に設定すると、最終的な語長と小数部の長さは次のように決定されます。
ここでは次のようになります。
SumMode
が SpecifyPrecision
に設定されている場合、語長と小数部の長さの両方または加算データ型の勾配とバイアスをそれぞれ SumWordLength
および SumFractionLength
、あるいは SumSlope
および SumBias
プロパティで指定します。
乗算データ型のプロパティ
2 つの fi
オブジェクトの乗算の勾配は、次のように ProductSlopeAdjustmentFactor
および ProductFixedExponent
プロパティに関係しています。
これらのいずれかのプロパティが更新されると、他のプロパティもそれに応じて変更されます。
FullPrecision
の乗算では、最終的な語長と小数部の長さは次のように表されます。
ProductMode
が KeepLSB
の場合、語長と小数部の長さは次のように決定されます。
ProductMode
が KeepMSB
の場合、語長と小数部の長さは次のようになります。
ここで、
ProductMode
が SpecifyPrecision
に設定されている場合、語長と小数部の長さの両方または乗算データ型の勾配とバイアスをそれぞれ ProductWordLength
および ProductFractionLength
、あるいは ProductSlope
および ProductBias
プロパティで指定します。
特定の関数で fimath
プロパティを使用する方法についての詳細は、次を参照してください。
fimath オブジェクト プロパティの設定
オブジェクト作成時の fimath プロパティの設定
コンストラクター関数 fimath
の引数の後にプロパティを含めることにより、オブジェクト作成時に fimath
オブジェクトのプロパティを設定できます。
たとえば、オーバーフロー アクションを Saturate
に、丸め手法を Convergent
に設定するには、以下のように入力します。
F = fimath('OverflowAction','Saturate','RoundingMethod','Convergent')
F = RoundingMethod: Convergent OverflowAction: Saturate ProductMode: FullPrecision SumMode: FullPrecision
コマンド ラインで fimath
オブジェクトを作成するだけでなく、[fimath コンストラクターの挿入] ダイアログ ボックスを使用して fimath
プロパティを設定できます。この方法の例は、GUI での fimath オブジェクト コンストラクターの作成を参照してください。
fimath におけるプロパティの直接参照の使用
MATLAB® 構造体のような参照を使用すると、プロパティを直接参照して fimath
オブジェクト プロパティの値を設定または取得できます。プロパティを直接参照するには、ピリオドを使用してプロパティに名前でインデックスを付けます。
たとえば、F
の RoundingMethod
を取得するには、次のようにします。
F.RoundingMethod
ans = 'Convergent'
F
の OverflowAction
を設定するには、次のようにします。
F.OverflowAction = 'Wrap'
F = RoundingMethod: Convergent OverflowAction: Wrap ProductMode: FullPrecision SumMode: FullPrecision