# 浮動小数点型オブジェクト (floating point object)

`PyFloatObject`

  この `PyObject` のサブタイプは Python 浮動小数点オブジェクトを表現します。

PyTypeObject `PyFloat_Type`

  この `PyTypeObject` のインスタンスは Python 浮動小数点型を表現します。これは Python レイヤにおける `float` と同じオブジェクトです。

int `PyFloat_Check`(PyObject *p)

  引数が `PyFloatObject` か `PyFloatObject` のサブタイプのときに真を返します。

int `PyFloat_CheckExact`(PyObject *p)

  引数が `PyFloatObject` 型で、かつ `PyFloatObject` 型のサブタイプでないときに真を返します。

PyObject* `PyFloat_FromString`(PyObject *str)
  Return value: New reference.

  str の文字列値をもとに `PyFloatObject` オブジェクトを生成します。失敗すると `NULL` を返します。

PyObject* `PyFloat_FromDouble`(double v)
  Return value: New reference.

  v から `PyFloatObject` オブジェクトを生成して返します。 失敗すると `NULL` を返します。

double `PyFloat_AsDouble`(PyObject *pyfloat)

  Return a C `double` representation of the contents of pyfloat. If pyfloat is not a Python floating point object but has a `__float__()` method, this method will first be called to convert pyfloat into a float. If `__float__()` is not defined then it falls back to `__index__()`. This method returns `-1.0` upon failure, so one should call `PyErr_Occurred()` to check for errors.

  バージョン 3.8 で変更: 可能であれば `__index__()` を使うようになりました。

double `PyFloat_AS_DOUBLE`(PyObject *pyfloat)

  pyfloat の指す値を、 C の `double` 型表現で返しますが、エラーチェックを行いません。

PyObject* `PyFloat_GetInfo`(void)
  Return value: New reference.

  float の精度、最小値、最大値に関する情報を含む structseq インスタンスを返します。これは、 `float.h` ファイルの薄いラッパーです。

double `PyFloat_GetMax`()

  float の表現できる最大限解値 DBL_MAX を C の `double` 型で返します。

double `PyFloat_GetMin`()

  float の正規化された最小の正の値 DBL_MIN を C の `double` 型で返します。

int `PyFloat_ClearFreeList`()

  float の free list をクリアします。解放できなかったアイテム数を返します。