Main Content

removefimath

fi オブジェクトからの fimath オブジェクトの削除

説明

y = removefimath(x) は、xnumerictype と値をもち、fimath オブジェクトは付加されていない fi オブジェクト y を返します。この関数を y = removefimath(y) として使用すると、fimath 設定をローカルで制御できます。この関数は、両方のオペランドの embedded.fimath が等しくなければならないというエラーを回避するのにも役立ちます。

すべて折りたたむ

この例では、fi オブジェクトおよび fimath オブジェクトの定義方法、fi オブジェクトへの fimath オブジェクトの付加方法および付加された fimath オブジェクトの削除方法を説明します。

a = fi(pi)
a = 
    3.1416

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 13
f = fimath('RoundingMethod','Floor','OverflowAction','Wrap');
a = setfimath(a,f)
a = 
    3.1416

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 13

        RoundingMethod: Floor
        OverflowAction: Wrap
           ProductMode: FullPrecision
               SumMode: FullPrecision
b = removefimath(a)
b = 
    3.1416

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 13

パターン x = setfimath(x,f)y = removefimath(y) を使用すると、変数の fimath 設定が関数の外部から影響を受けないようにすることができます。このパターンは生成コードでデータのコピーを作成しません。

function y = fixed_point_32bit_KeepLSB_plus_example(a,b)
   f = fimath('OverflowAction','Wrap',...
      'RoundingMethod','Floor',...
      'SumMode','KeepLSB',...
      'SumWordLength',32);
   a = setfimath(a,f);
   b = setfimath(b,f);
   y = a + b;
   y = removefimath(y);
end

MATLAB® Coder™ 製品をお持ちの場合、C コードを生成できます。この例では、32 ビットのネイティブ整数型をもつコンピューターで C コードを生成します。

a = fi(0,1,16,15);
b = fi(0,1,16,15);
codegen -config:lib  fixed_point_32bit_KeepLSB_plus_example...
       -args {a,b} -launchreport
     
int fixed_point_32bit_KeepLSB_plus_example(short a, short b)
{
  return a + b;
}

入力引数

すべて折りたたむ

データ型と値を出力にコピーする fi オブジェクトまたは組み込み整数として指定する入力データです。xfi オブジェクトまたは整数のデータ型 (int8int16int32int64uint8uint16uint32 または uint64) でなければなりません。x が fi オブジェクトまたは整数のデータ型でない場合、y = x となります。

出力引数

すべて折りたたむ

fimath オブジェクトが付加されていない fi オブジェクトとして返される出力 fi オブジェクトです。出力のデータ型と値は入力に一致します。入力 xfi オブジェクトでない場合、y = x となります。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2012b で導入

参考

| |