(通常)整数型オブジェクト (plain integer object)
***********************************************

PyIntObject

   この "PyObject" のサブタイプは整数型を表現します。

PyTypeObject PyInt_Type

   この "PyTypeObject" のインスタンスは Python の (長整数でない)整数型
   を表現します。これは Python レイヤにおける "int" や "types.IntType"
   と同じオブジェクトです。

int PyInt_Check(PyObject *o)

   *o* が "PyInt_Type" 型か "PyInt_Type" 型のサブタイプであるときに真
   を返します。

   バージョン 2.2 で変更: サブタイプを引数にとれるようになりました.

int PyInt_CheckExact(PyObject *o)

   *o* が "PyInt_Type" 型で、かつ "PyInt_Type" 型のサブタイプでないと
   きに真を返します。

   バージョン 2.2 で追加.

PyObject* PyInt_FromString(char *str, char **pend, int base)
    *Return value: New reference.*

   *str* の文字列値に基づいて、新たな "PyIntObject" または
   "PyLongObject" を返します。このとき *base* を基数として文字列を解釈
   します。 *pend* が *NULL* でなければ、 "*pend" は *str* 中で数が表
   現されている部分以後の先頭の文字のアドレスを指しています。 *base*
   が "0" ならば、 *str* の先頭の文字列に基づいて基数を決定します: も
   し *str* が "'0x'" または "'0X'" で始まっていれば、基数に 16 を使い
   ます; *str* が "'0'" で始まっていれば、基数に 8 を使います; その他
   の場合には基数に 10 を使います。 *base* が "0" でなければ、 *base*
   は "2" 以上 "36" 以下の数でなければなりません。先頭に空白がある場合
   は無視されます。数字が全くない場合、 "ValueError" が送出されます。
   使用しているマシンの "long int" 型で表現し切れないくらい大きな数が
   文字列に入っており、オーバフロー警告が抑制されていれば、
   "PyLongObject" を返します。オーバフロー警告が抑制されていなければ、
   *NULL* を返します。

PyObject* PyInt_FromLong(long ival)
    *Return value: New reference.*

   *ival* の値を使って新たな整数オブジェクトを生成します。

   現在の実装では、"-5" から "256" までの全ての整数に対する整数オブジ
   ェクトの配列を保持するようにしており、この範囲の数を生成すると、実
   際には既存のオブジェクトに対する参照が返るようになっています。従っ
   て、"1" の値を変えることすら可能です。変えてしまった場合の Python
   の挙動は未定義です :-)

PyObject* PyInt_FromSsize_t(Py_ssize_t ival)
    *Return value: New reference.*

   *ival* の値を使って新たな整数オブジェクトを生成します。値が
   "LONG_MAX" より大きいか "LONG_MIN" より小さい場合、長整数オブジェク
   トを返します。

   バージョン 2.5 で追加.

PyObject* PyInt_FromSize_t(size_t ival)

   *ival* の値を使って新たな整数オブジェクトを生成します。値が
   "LONG_MAX" を超えている場合、長整数オブジェクトを返します。

   バージョン 2.5 で追加.

long PyInt_AsLong(PyObject *io)

   オブジェクトがまだ "PyIntObject" でなければまず型キャストを試み、次
   にその値を返します。エラーが発生した場合、 "-1" が返されます。その
   時呼び出し側は、 "PyErr_Occurred()" を使って、エラーが発生したのか
   、単に値が "-1" だったのかを判断するべきです。

long PyInt_AS_LONG(PyObject *io)

   オブジェクト *io* の値を返します。エラーチェックを行いません。

unsigned long PyInt_AsUnsignedLongMask(PyObject *io)

   オブジェクトがまだ "PyIntObject" または "PyLongObject" でなければま
   ず型キャストを試み、次にその値を "unsigned long" 型で返します。この
   関数はオーバフローをチェックしません。

   バージョン 2.3 で追加.

unsigned PY_LONG_LONG PyInt_AsUnsignedLongLongMask(PyObject *io)

   オブジェクトがまだ "PyIntObject" または "PyLongObject" でなければま
   ず型キャストを試み、次にその値を "unsigned long long" 型で返します
   。オーバフローをチェックしません。

   バージョン 2.3 で追加.

Py_ssize_t PyInt_AsSsize_t(PyObject *io)

   オブジェクトがまだ "PyIntObject" または "PyLongObject" でなければま
   ず型キャストを試み、次にその値を "Py_ssize_t" 型で返します。

   バージョン 2.5 で追加.

long PyInt_GetMax()

   システムの知識に基づく、扱える最大の整数値 (システムのヘッダファイ
   ルに定義されている "LONG_MAX") を返します。

int PyInt_ClearFreeList()

   整数の free list をクリアします。解放できなかった要素の数を返します
   。

   バージョン 2.6 で追加.
