Skip to main content

IAR Embedded Workbench for Arm 9.70.x

数学関数

このセクションの内容:

一部のC/C++標準ライブラリ数学関数は、異なるバージョンが用意されています。

  • デフォルトのバージョン

  • より小さいバージョン(精度は低下します)

  • より正確なバージョン(サイズはより大きくなります)

より小さいバージョン

ライブラリには、小さいバージョンのcosexploglog2log10powsin、およびtan関数が存在します。これらはデフォルトのバージョンより約20% 小さく、約20% 高速です。これらの関数はINF およびNaN の値を処理します。欠点は、ほとんどの場合において精度が失われることと、デフォルトのバージョンと同じ入力範囲を持っていない点です。

関数の名前は以下のように構成されます。

__iar_ xxx _small<f|l>

ffloatの派生型に、llong doubleの派生型に使用され、doubleの派生型にサフィックスは使用されません。

CLICO.pngコマンドライン上により小さい数学関数を指定するには、以下の手順に従います。
  1. コマンドラインオプション--small_mathをリンカに指定します。

  2. アプリケーションをリンクして完全なセットが使用されます。

より正確なバージョン

関数cospowsin、およびtan がより正確なバージョンがライブラリにあり、これらはより大きい引数の範囲を処理できます。 デフォルトのバージョンよりサイズが大きく、低速なのが欠点です。

関数の名前は以下のように構成されます。

__iar_ xxx _accurate<f|l>

ffloatの派生型に、llong doubleの派生型に使用され、doubleの派生型にサフィックスは使用されません。

CLICO.pngコマンドライン上でより正確な数学関数を指定するには、以下の手順に従います。
  1. コマンドラインオプション--accurate_mathをリンカに指定します。

  2. アプリケーションをリンクして完全なセットが使用されます。