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