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

`PyIntObject`
  この `PyObject` のサブタイプは Python の整数型オブジェクトを表現します。

PyTypeObject `PyInt_Type`
  この `PyTypeObject` のインスタンスは Python の (長整数でない) 整数型を表現します。これは `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)

  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)

  戻り値: 新たな参照.
  ival の値を使って新たな整数オブジェクトを生成します。

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

long `PyInt_AsLong`( | PyObject *io)

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

long `PyInt_AS_LONG`( | PyObject *io)

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

unsigned long `PyInt_AsUnsignedLongMask`( | PyObject *io)

  オブジェクトがまだ `PyIntObject` または `PyLongObject` で なければまず型キャストを試み、次にその値を`unsigned long` 型で 返します。この関数はオーバフローをチェックしません。 バージョン2.3 以降で新規追加された 仕様です。

unsigned long `PyInt_AsUnsignedLongLongMask`( | PyObject *io)

  オブジェクトがまだ `PyIntObject` または `PyLongObject` で なければまず型キャストを試み、次にその値を`unsigned long long` 型で 返します。オーバフローをチェックしません。 バージョン2.3 以降で新規追加された 仕様です。

long `PyInt_GetMax`( | )

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