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

PyIntObject

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

PyTypeObject PyInt_Type

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

int PyInt_Check(PyObject *o)

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

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

int PyInt_CheckExact(PyObject *o)

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

バージョン 2.2 で追加.

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

str の文字列値に基づいて、新たな PyIntObject または PyLongObject を返します。このとき base を基数として文字列を解釈します。 pendNULL でなければ、 *pendstr 中で数が表現されている部分以後の先頭の文字のアドレスを指しています。 base0 ならば、 str の先頭の文字列に基づいて基数を決定します: もし str'0x' または '0X' で始まっていれば、基数に 16 を使います; str'0' で始まっていれば、基数に 8 を使います; その他の場合には基数に 10 を使います。 base0 でなければ、 base2 以上 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 で追加.