インテル® HLS コンパイラー: リファレンス・マニュアル

ID 683349
日付 6/23/2017
Public
ドキュメント目次

B. HLSコンパイラーでサポートされる標準の数学関数

インテル® HLS コンパイラーには、math.h の C ヘッダーファイルに存在する標準の数学関数から効率的な IP を生成するための内蔵サポートが含まれています。コンパイラーは非標準の数学関数もサポートしており、これらの関数はextendedmath.h の C ヘッダーファイルで提供されています。
FPGA 用に最適化されたmath.h インテル® 実装を使用するには、関数内に次の行を追加してHLS/math.hをインクルードします。
#include "HLS/math.h"
FPGA 用に最適化されたmath.h インテル® 実装と同様に非標準の数学関数を使用するには、関数内に次の行を追加してHLS/extendedmath.hをインクルードします。
#include "HLS/extendedmath.h"
extendedmath.hヘッダーファイルはHLS/math.hヘッダーファイルを含んでいます。

HLSコンパイラーでサポートされる Math.h 関数

HLSコンパイラーはmath.hに存在する関数のサブセットをサポートしています。

math.h関数を下にリストしています。「●」はHLSコンパイラーがサポートする関数を表し、「X」はサポートされない関数を表します。

表 29.  三角関数
三角関数 HLSコンパイラーによるサポート
倍精度浮動小数点関数 cos
sin
tan
acos
asin
atan
atan2
単精度浮動小数点関数 cosf
sinf
tanf
acosf
asinf
atanf
atan2f
表 30.  双曲線関数
双曲線関数 HLSコンパイラーによるサポート
cosh
sinh
tanh
acosh (C++11) X
asinh (C++11) X
atanh (C++11) X
表 31.  指数関数および対数関数
指数関数または対数関数 HLSコンパイラーによるサポート
exp
frexp
ldexp
log
log10
modf
exp2 (C++11)
expm1 (C++11) X
ilogb (C++11)
log1p (C++11) X
log2 (C++11)
logb (C++11)
scalbn (C++11) X
scalbln (C++11) X
表 32.  べき関数
べき関数 HLSコンパイラーによるサポート
pow
sqrt
cbrt (C++11) X
hypot (C++11) X
表 33.  エラー関数およびガンマ関数
エラー関数またはガンマ関数 HLSコンパイラーによるサポート
erf (C++11) X
erfc (C++11) X
tgamma (C++11) X
lgamma (C++11) X
表 34.  丸め関数と余り関数
丸め関数と余り関数 HLSコンパイラーによるサポート
ceil
floor
fmod
trunc (C++11)
round (C++11)
lround (C++11) X
llround (C++11) X
rint (C++11)
lrint (C++11) X
llrint (C++11) X
nearbyint (C++11) X
remainder (C++11) X
remquo (C++11) X
表 35.  浮動小数点操作関数
浮動小数点操作関数 HLSコンパイラーによるサポート
copysign (C++11) X
nan (C++11) X
nextafter (C++11) X
nexttoward (C++11) X
表 36.  最小、最大、および差分関数
最小、最大、または差分関数 HLSコンパイラーによるサポート
fdim (C++11)
fmax (C++11)
fmin (C++11)
表 37.  その他の関数
関数 HLSコンパイラーによるサポート
fabs
abs X
fma (C++11) X
表 38.  マクロ分類
マクロ分類 HLSコンパイラーによるサポート
fpclassify (C++11) X
isfinite (C++11)
isinf (C++11)
isnan (C++11)
isnormal (C++11) X
signbit (C++11) X
表 39.  比較マクロ
比較マクロ HLSコンパイラーによるサポート
isgreater (C++11) X
isgreaterequal (C++11) X
isless (C++11) X
islessequal (C++11) X
islessgreater (C++11) X
isunordered (C++11) X

extendedmath.hヘッダーファイルで提供される数学関数

HLS/extendedmath.hヘッダーファイルを追加すると、次の関数もサポートされます。
  • sincos
  • acospi
  • asinpi
  • atanpi
  • cospi
  • sinpi
  • tanpi
  • pown
  • powr
  • rsqrt