数学
現在のjqは、IEEE754の倍精度(64ビット)浮動小数点数だけに対応しています。
+ のような単純な算術演算子に加え、jqにはC数学ライブラリの標準的な数学関数のほとんどがあります。入力引数が1つのC数学関数(たとえば sin())は、引数なしのjq関数として使えます。入力引数が2つのC数学関数(たとえば pow())は、. を無視する2引数のjq関数として使えます。入力引数が3つのC数学関数は、. を無視する3引数のjq関数として使えます。
標準的な数学関数を使えるかどうかは、OSとC数学ライブラリで、対応する数学関数が使えるかどうかに依存します。使えない数学関数も定義はされますが、エラーを発生させます。
入力引数が1つのC数学関数: acos acosh asin asinh atan
atanh cbrt ceil cos cosh erf erfc exp exp10
exp2 expm1 fabs floor gamma j0 j1 lgamma log
log10 log1p log2 logb nearbyint rint round
significand sin sinh sqrt tan tanh tgamma trunc
y0 y1.
入力引数が2つのC数学関数: atan2 copysign drem fdim
fmax fmin fmod frexp hypot jn ldexp modf
nextafter nexttoward pow remainder scalb scalbln yn.
入力引数が3つのC数学関数: fma.
各関数の詳細は、システムのマニュアルを参照してください。
訳注
訳注:数学の原文冒頭にある浮動小数点数の一般的な説明は保持しています。数値リテラルの精度保持や比較には、Basic filtersのIdentityに記載された実装・ビルド条件も関係します。have_literal_numbersとhave_decnumの説明も参照し、すべてのビルドで同じ数値リテラルの保持が保証されると推測しないでください。