7.2.3 長整数型オブジェクト (long integer object)

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

PyTypeObject PyLong_Type
この PyTypeObject のインスタンスは Python 長整数型を表現します。 これは longtypes.LongType と同じオブジェクトです。

int PyLong_Check(PyObject *p)
引数が PyLongObjectPyLongObject のサブタイプのときに真を返します。 バージョン 2.2 で 変更 された仕様: サブタイプを引数にとれるようになりました

int PyLong_CheckExact(PyObject *p)
引数が PyLongObject 型で、かつ PyLongObject 型のサブタイプでないときに真を返します。 バージョン 2.2 で 新たに追加 された仕様です。

PyObject* PyLong_FromLong(long v)
戻り値: 新たな参照.
v から新たな PyLongObject オブジェクトを生成して返します。 失敗のときには NULL を返します。

PyObject* PyLong_FromUnsignedLong(unsigned long v)
戻り値: 新たな参照.
C の unsigned long 型から新たな PyLongObject オブジェクト を生成して返します。 失敗のときには NULL を返します。

PyObject* PyLong_FromLongLong(PY_LONG_LONG v)
戻り値: 新たな参照.
C の long long 型から新たな PyLongObject オブジェクトを 生成して返します。失敗のときには NULL を返します。

PyObject* PyLong_FromUnsignedLongLong(unsigned PY_LONG_LONG v)
戻り値: 新たな参照.
C の unsigned long long 型から新たな PyLongObject オブジェクトを生成して返します。失敗のときには NULL を返します。

PyObject* PyLong_FromDouble(double v)
戻り値: 新たな参照.
v の整数部から新たな PyLongObject オブジェクトを生成して 返します。失敗のときには NULL を返します。

PyObject* PyLong_FromString(char *str, char **pend, int base)
戻り値: 新たな参照.
str の文字列値に基づいて、新たな PyLongObject を返します。 このとき base を基数として文字列を解釈します。 pendNULL でなければ、 *pendstr 中で 数が表現されている部分以後の先頭の文字のアドレスを指しています。 base0 ならば、str の先頭の文字列に基づいて 基数を決定します: もし str'0x' または '0X' で始まっていれば、基数に 16 を使います; str'0' で始まっていれば、基数に 8 を使います; その他の場合には基数に 10 を 使います。base0 でなければ、base2 以上 36 以下の数でなければなりません。先頭に空白がある場合は 無視されます。数字が全くない場合、ValueError が送出 されます。

PyObject* PyLong_FromUnicode(Py_UNICODE *u, Py_ssize_t length, int base)
戻り値: 新たな参照.
Unicode の数字配列を Python の長整数型に変換します。最初のパラメタ u は、 Unicode 文字列の最初の文字を指し、length には 文字数を指定し、base には変換時の基数を指定します。 基数は範囲 [2, 36] になければなりません; 範囲外の基数を指定すると、 ValueError を送出します。 バージョン 1.6 で 新たに追加 された仕様です。

PyObject* PyLong_FromVoidPtr(void *p)
戻り値: 新たな参照.
Python 整数型または長整数型をポインタ p から生成します。 ポインタに入れる値は PyLong_AsVoidPtr() を使って 得られるような値です。 バージョン 1.5.2 で 新たに追加 された仕様です。 バージョン 2.5 で 変更 された仕様: 整数値がLONG_MAXより大きい場合は、正の長整数を返します

long PyLong_AsLong(PyObject *pylong)
pylong の指す長整数値を、 C の long 型表現で返します。 pylongLONG_MAX よりも 大きい場合、 OverflowError を送出します。

unsigned long PyLong_AsUnsignedLong(PyObject *pylong)
pylong の指す長整数値を、 C の unsigned long 型表現で返します。 pylongULONG_MAX よりも 大きい場合、 OverflowError を送出します。

PY_LONG_LONG PyLong_AsLongLong(PyObject *pylong)
pylong の指す長整数値を、 C の long long 型表現で返します。 pylonglong long で表せない場合、 OverflowError を送出します。 バージョン 2.2 で 新たに追加 された仕様です。

unsigned PY_LONG_LONG PyLong_AsUnsignedLongLong(PyObject *pylong)
pylong の指す値を、 C の unsigned long long 型表現で 返します。 pylongunsigned long long で表せない場合、 正の値なら OverflowError を、負の値なら TypeError を送出します。 バージョン 2.2 で 新たに追加 された仕様です。

unsigned long PyLong_AsUnsignedLongMask(PyObject *io)
Python 長整数値を、 オーバフローチェックを行わずに C の unsigned long 型表現で返します。 バージョン 2.3 で 新たに追加 された仕様です。

unsigned PY_LONG_LONG PyLong_AsUnsignedLongLongMask(PyObject *io)
Python 長整数値を、 オーバフローチェックを行わずに C の unsigned long long 型表現で返します。 バージョン 2.3 で 新たに追加 された仕様です。

double PyLong_AsDouble(PyObject *pylong)
pylong の指す値を、 C の double 型表現で返します。 pylongdouble を使って近似表現できない場合、 OverflowError 例外を送出して -1.0 を返します。

void* PyLong_AsVoidPtr(PyObject *pylong)
Python の整数型か長整数型を指す pylong を、 C の void ポインタに変換します。pylong を変換できなければ、 OverflowError を送出します。この関数は PyLong_FromVoidPtr() で値を生成するときに使うような void ポインタ型を生成できるだけです。 バージョン 1.5.2 で 新たに追加 された仕様です。 バージョン 2.5 で 変更 された仕様: 値が0..LONG_MAXの範囲の外だった場合、 符号付き整数と符号無し整数の両方とも利用可能です

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。