# ElementaryFunction

## 概要 - Abstract

このライブラリ math.ElementaryFunction は、初頭数学関数を提供します。
VCSSL標準ライブラリ「 Math 」と同様の位置づけで、Math で提供されていない機能を補う事を目的としています。

なお、このモジュールでは varfloat 型や varcomplex 型など、多倍長精度のものも提供されますが、
ただアルゴリズムが実装されているだけであり、演算誤差の蓄積や、桁落ち等に対する特別な措置は行われません。

つまり、最終桁まで正しい値が得られる訳ではなく、演算結果の末尾に、常に誤差蓄積による正しくない部分が含まれます。
この誤差部分の長さは、実装のアルゴリズムの違いや、引数による収束速度の違い、桁落ちの度合いなど、場合によって異なります。
例えば、一般に特異点の近傍では収束が著しく遅くなり、それに伴って誤差蓄積も増大します。

従って、 varfloat 型や varcomplex 型などの多倍長精度の関数を使用する場合は、
必要な桁数よりも、十分に大きな桁数で関数を呼び出し、得られた結果から不要な（誤差を含む）部分を切り捨てて下さい。

## 目次 - Index

complex exp(complex arg)
  複素数の指数関数です。
varcomplex exp(varcomplex arg)
  複素数の指数関数です。
float abs(complex arg)
  複素数の絶対値を返す関数です。
varfloat abs(varcomplex arg)
  複素数の絶対値を返す関数です。

## 構造体 - Structs

- なし - None -

## 変数 - Variables

- なし - None -

## 関数 - Functions

文法的定義 - Signature | complex exp(complex arg)
関数名 - Name | exp
役割 - Role | 複素数の指数関数です。
引数 - Arguments | (complex型) arg : 指数関数の引数です。
戻り値 - Return | (complex型) 指数関数の値です。

文法的定義 - Signature | varcomplex exp(varcomplex arg)
関数名 - Name | exp
役割 - Role | 複素数の指数関数です。
引数 - Arguments | (varcomplex型) arg : 指数関数の引数です。
戻り値 - Return | (varcomplex型) 指数関数の値です。

文法的定義 - Signature | float abs(complex arg)
関数名 - Name | abs
役割 - Role | 複素数の絶対値を返す関数です。
引数 - Arguments | (complex型) arg : 絶対値を求める対象の複素数です。
戻り値 - Return | (float型) 絶対値の値です。

文法的定義 - Signature | varfloat abs(varcomplex arg)
関数名 - Name | abs
役割 - Role | 複素数の絶対値を返す関数です。
引数 - Arguments | (varcomplex型) arg : 絶対値を求める対象の複素数です。
戻り値 - Return | (varfloat型) 絶対値の値です。