pytho****@googl*****
pytho****@googl*****
2011年 5月 19日 (木) 00:28:59 JST
2 new revisions: Revision: c2cd7e2b1464 Author: cocoatomo <cocoa****@gmail*****> Date: Wed May 18 08:28:21 2011 Log: c-api/buffer.rst translation completed http://code.google.com/p/python-doc-ja/source/detail?r=c2cd7e2b1464 Revision: e32daf95e7db Author: cocoatomo <cocoa****@gmail*****> Date: Wed May 18 08:28:42 2011 Log: merge http://code.google.com/p/python-doc-ja/source/detail?r=e32daf95e7db ============================================================================== Revision: c2cd7e2b1464 Author: cocoatomo <cocoa****@gmail*****> Date: Wed May 18 08:28:21 2011 Log: c-api/buffer.rst translation completed http://code.google.com/p/python-doc-ja/source/detail?r=c2cd7e2b1464 Modified: /c-api/buffer.rst ======================================= --- /c-api/buffer.rst Fri Apr 1 15:41:14 2011 +++ /c-api/buffer.rst Wed May 18 08:28:21 2011 @@ -26,20 +26,20 @@ 対象となるオブジェクトからデータを返させる :c:func:`PyArg_ParseTuple` には 数多くのデータ書式化コードがあります。 バージョン 1.6 から、Python は Python レベルのバッファオブジェクトと、 -C 言語レベルのバッファAPIを提供しており、任意のビルトイン型やユーザー定義型 は +C 言語レベルのバッファ API を提供しており、任意のビルトイン型やユーザー定義 型は その文字列表現を公開することができます。 しかし、両方共、幾つかの欠点のために廃止予定扱いされていて、 -Python 3.0 では公式に削除され、新しい C 言語レベルのバッファAPIと +Python 3.0 では公式に削除され、新しい C 言語レベルのバッファ API と 新しい Python レベルの :class:`memoryview` という名前のオブジェクトに 置き換えられています。 -新しいバッファAPIは Python 2.6 に逆移植されており、 :class:`memoryviews` +新しいバッファ API は Python 2.6 に逆移植されており、 :class:`memoryviews` オブジェクトは Python 2.7 に逆移植されています。 古いバージョンとの互換性が必要なければ、古いAPIの代わりにこれらを使うことを おすすめします。 新スタイル Py_buffer 構造体 -============================== +=========================== .. c:type:: Py_buffer @@ -51,7 +51,7 @@ .. c:member:: Py_ssize_t len :noindex: - メモリのトータルサイズ[byte] + メモリのトータルサイズ [byte] .. c:member:: int readonly @@ -83,8 +83,8 @@ .. c:member:: Py_ssize_t *suboffsets - 長さ :c:data:`ndim` の、 :c:type:`Py_ssize_t` の配列。 - suboffset の各数値が0以上であるとき、その次元に格納されているのはポイ ンタで、 + 長さ :c:data:`ndim` の :c:type:`Py_ssize_t` の配列。 + suboffset の各数値が 0 以上であるとき、その次元に格納されているのはポ インタで、 suboffset の値はそのポインタの参照を解決するときに何バイトのオフセッ トを足すかを 示しています。 suboffset に負の数が格納されているときは、参照解決が不要であること @@ -165,7 +165,7 @@ | | 結果のバッファは書き込み可能か もしれませんし、不可能かも | | | しれません。データのフォーマッ トは unsigned byte とします。 | | | これは "スタンドアロン" のフラ グ定数です。他の定数と '|' | - | | する必要はありませ ん。 | + | | を取る必要はありませ ん。 | | | 提供側はこのような連続したバイ ト列のバッファを提供できない | | | 場合に、エラーを発生させるかも しれません。 | | | | @@ -175,7 +175,7 @@ +-----------------------------------+--------------------------------------------------------------+ | :c:macro:`PyBUF_STRIDES` | この値は :c:macro:`PyBUF_ND` を 含みます。 | | | バッファは strides 情報を提供し なければなりません。 | - | | (言い換えると、 strides は NULL ではなりません。) | + | | (言い換えると、 strides は NULL であってはいけません。) | | | このフラグは、呼び出し元が、要 素間に隙間のある不連続な | | | 配列を扱えるときに使われます。 strides を扱うことは、 | | | 自動的に shape も扱えることを要 求されます。 | @@ -240,7 +240,7 @@ .. c:function:: Py_ssize_t PyBuffer_SizeFromFormat(const char *) - :c:data:`~Py_buffer.itemsize` の値を :c:data:`~PyBuffer.format` から 返します。 + :c:data:`~Py_buffer.itemsize` の値を :c:data:`~PyBuffer.format` から 計算して返します。 .. c:function:: int PyObject_CopyToObject(PyObject *obj, void *buf, Py_ssize_t len, char fortran) @@ -258,9 +258,9 @@ .. c:function:: int PyBuffer_IsContiguous(Py_buffer *view, char fortran) - *view* で定義されているメモリが、(*fortran* == ``'C'`` のとき) C-styleか、 - (*fortran* == ``'F'`` のとき) Fortran-style か、 (*fortran* == ``'A'`` - のとき) そのいずれかであれば 1 を返します。 + *view* で定義されているメモリが、 C スタイル (*fortran* == ``'C'``) のと きか、 + Fortran スタイル (*fortran* == ``'F'``) のときか、そのいずれか + (*fortran* == ``'A'``) であれば 1 を返します。 それ以外の場合は 0 を返します。 @@ -273,12 +273,9 @@ .. c:function:: int PyBuffer_FillInfo(Py_buffer *view, PyObject *obj, void *buf, Py_ssize_t len, int readonly, int infoflags) - Fill in a buffer-info structure, *view*, correctly for an exporter that can - only share a contiguous chunk of memory of "unsigned bytes" of the given - length. Return 0 on success and -1 (with raising an error) on error. バッファ提供側が与えられた長さの "unsigned bytes" の連続した1つのメモリ ブロックしか 提供できないものとして、 *view* バッファ情報構造体を正しく埋める。 - 成功したら 0 を、エラー時には(例外を発生させつつ) -1 を返す。 + 成功したら 0 を、エラー時には (例外を発生させつつ) -1 を返す。 旧スタイルバッファオブジェクト @@ -291,7 +288,7 @@ "バッファオブジェクト" はヘッダファイル :file:`bufferobject.h` の中で定義 されています (このファイルは :file:`Python.h` がインクルードしています)。バッファオブジェクトは、 Python プログラミングの -レベルからは文字列オブジェクトと非常によく似ているように見えます: スライ ス、インデクス指定、結合、その他標準の文字列操作をサポート +レベルからは文字列オブジェクトと非常によく似ているように見えます: スライ ス、インデックス指定、結合、その他標準の文字列操作をサポート しています。しかし、バッファオブジェクトのデータは二つのデータソース: 何ら かのメモリブロックか、バッファインタフェースを公開している 別のオブジェクト、のいずれかに由来しています。 @@ -317,8 +314,8 @@ .. c:var:: int Py_END_OF_BUFFER - この定数は、 :c:func:`PyBuffer_FromObject` または の :c:func:`PyBuffer_FromReadWriteObject` - *size* パラメタに渡します。このパラメタを渡す と、 :c:type:`PyBufferObject` は指定された *offset* + この定数は、 :c:func:`PyBuffer_FromObject` や :c:func:`PyBuffer_FromReadWriteObject` に + *size* パラメタとして渡します。このパラメタを渡す と、 :c:type:`PyBufferObject` は指定された *offset* からバッファの終わりまでを *base* オブジェクトとして参照します。このパラ メタを使うことで、関数の呼び出し側が *base* オブジェクト のサイズを調べる必要がなくなります。 @@ -332,7 +329,7 @@ 新たな読み出し専用バッファオブジェクトを返します。 *base* が読み出し専用 バッファに必要なバッファプロトコルをサポートしていない 場合や、厳密に一つのバッファセグメントを提供していない場合に は :exc:`TypeError` を送出し、 *offset* がゼロ以下の場合には - :exc:`ValueError` を送出します。バッファオブジェクトはは *base* オブジェ クトに対する参照を保持し、バッファオブジェクトのの内容は + :exc:`ValueError` を送出します。バッファオブジェクトは *base* オブジェク トに対する参照を保持し、バッファオブジェクトの内容は *base* オブジェクトの *offset* から *size* バイトのバッファインタフェー スへの参照になります。 *size* が :const:`Py_END_OF_BUFFER` の場合、新たに作成するバッファオブジェクトの内 容は *base* から公開されているバッファの 末尾までにわたります。 @@ -356,7 +353,7 @@ メモリ上の指定された場所から指定されたサイズのデータを読み出せる、新たな 読み出し専用バッファオブジェクトを返します。 この関数が返すバッファオブジェクトが存続する間、 *ptr* で与えられたメモ リバッファがデアロケートされないようにするのは呼び出し側の責任です。 *size* がゼロ以下の場合には :exc:`ValueError` を送出します。 *size* に は :const:`Py_END_OF_BUFFER` を指定しては - *なりません* ; 指定すると、 :exc:`ValueError` を送出します。 + *いけません* ; 指定すると、 :exc:`ValueError` を送出します。 .. versionchanged:: 2.5 この関数は以前は *size* の型に :c:type:`int` を利用していました。 @@ -374,7 +371,7 @@ .. c:function:: PyObject* PyBuffer_New(Py_ssize_t size) *size* バイトのメモリバッファを独自に維持する新たな書き込み可能バッファ オブジェクトを返します。 *size* - がゼロまたは正の値でない場合、 :exc:`ValueError` を送出します。 (:c:func:`PyObject_AsWriteBuffer` + がゼロまたは正の値でない場合、 :exc:`ValueError` を送出します。 ( :c:func:`PyObject_AsWriteBuffer` が返すような) メモリバッファは特に整列されていないので注意して下さい。 .. versionchanged:: 2.5 ============================================================================== Revision: e32daf95e7db Author: cocoatomo <cocoa****@gmail*****> Date: Wed May 18 08:28:42 2011 Log: merge http://code.google.com/p/python-doc-ja/source/detail?r=e32daf95e7db