@@ -284,19 +284,38 @@ The flags that control the logical structure of the memory are listed
284284in decreasing order of complexity. Note that each flag contains all bits
285285of the flags below it.
286286
287- .. tabularcolumns :: |p{0.35\linewidth}|l|l|l|
288-
289- +-----------------------------+-------+---------+------------+
290- | Request | shape | strides | suboffsets |
291- +=============================+=======+=========+============+
292- | .. c:macro:: PyBUF_INDIRECT | yes | yes | if needed |
293- +-----------------------------+-------+---------+------------+
294- | .. c:macro:: PyBUF_STRIDES | yes | yes | NULL |
295- +-----------------------------+-------+---------+------------+
296- | .. c:macro:: PyBUF_ND | yes | NULL | NULL |
297- +-----------------------------+-------+---------+------------+
298- | .. c:macro:: PyBUF_SIMPLE | NULL | NULL | NULL |
299- +-----------------------------+-------+---------+------------+
287+ .. stable-abi-note ::
288+
289+ These values are available when compiling for the
290+ :ref: `Stable ABI <stable >` since version 3.11.
291+
292+ .. omit-stable-abi-notes ::
293+
294+ .. list-table ::
295+ :align: left
296+ :widths: auto
297+ :header-rows: 1
298+
299+ * - Request
300+ - shape
301+ - strides
302+ - suboffsets
303+ * - .. c:macro: : PyBUF_INDIRECT
304+ - yes
305+ - yes
306+ - if needed
307+ * - .. c:macro: : PyBUF_STRIDES
308+ - yes
309+ - yes
310+ - NULL
311+ * - .. c:macro: : PyBUF_ND
312+ - yes
313+ - NULL
314+ - NULL
315+ * - .. c:macro: : PyBUF_SIMPLE
316+ - NULL
317+ - NULL
318+ - NULL
300319
301320
302321.. index :: contiguous, C-contiguous, Fortran contiguous
@@ -308,19 +327,43 @@ C or Fortran :term:`contiguity <contiguous>` can be explicitly requested,
308327with and without stride information. Without stride information, the buffer
309328must be C-contiguous.
310329
311- .. tabularcolumns :: |p{0.35\linewidth}|l|l|l|l|
312-
313- +-----------------------------------+-------+---------+------------+--------+
314- | Request | shape | strides | suboffsets | contig |
315- +===================================+=======+=========+============+========+
316- | .. c:macro:: PyBUF_C_CONTIGUOUS | yes | yes | NULL | C |
317- +-----------------------------------+-------+---------+------------+--------+
318- | .. c:macro:: PyBUF_F_CONTIGUOUS | yes | yes | NULL | F |
319- +-----------------------------------+-------+---------+------------+--------+
320- | .. c:macro:: PyBUF_ANY_CONTIGUOUS | yes | yes | NULL | C or F |
321- +-----------------------------------+-------+---------+------------+--------+
322- | :c:macro: `PyBUF_ND ` | yes | NULL | NULL | C |
323- +-----------------------------------+-------+---------+------------+--------+
330+ .. stable-abi-note ::
331+
332+ These values are available when compiling for the
333+ :ref: `Stable ABI <stable >` since version 3.11.
334+
335+ .. omit-stable-abi-notes ::
336+
337+ .. list-table ::
338+ :align: left
339+ :widths: auto
340+ :header-rows: 1
341+
342+ * - Request
343+ - shape
344+ - strides
345+ - suboffsets
346+ - contig
347+ * - .. c:macro: : PyBUF_C_CONTIGUOUS
348+ - yes
349+ - yes
350+ - NULL
351+ - C
352+ * - .. c:macro: : PyBUF_F_CONTIGUOUS
353+ - yes
354+ - yes
355+ - NULL
356+ - F
357+ * - .. c:macro: : PyBUF_ANY_CONTIGUOUS
358+ - yes
359+ - yes
360+ - NULL
361+ - C or F
362+ * - :c:macro: `PyBUF_ND `
363+ - yes
364+ - NULL
365+ - NULL
366+ - C
324367
325368
326369compound requests
@@ -333,27 +376,81 @@ used combinations as single flags.
333376In the following table *U * stands for undefined contiguity. The consumer would
334377have to call :c:func: `PyBuffer_IsContiguous ` to determine contiguity.
335378
336- .. tabularcolumns :: |p{0.35\linewidth}|l|l|l|l|l|l|
337-
338- +-------------------------------+-------+---------+------------+--------+----------+--------+
339- | Request | shape | strides | suboffsets | contig | readonly | format |
340- +===============================+=======+=========+============+========+==========+========+
341- | .. c:macro:: PyBUF_FULL | yes | yes | if needed | U | 0 | yes |
342- +-------------------------------+-------+---------+------------+--------+----------+--------+
343- | .. c:macro:: PyBUF_FULL_RO | yes | yes | if needed | U | 1 or 0 | yes |
344- +-------------------------------+-------+---------+------------+--------+----------+--------+
345- | .. c:macro:: PyBUF_RECORDS | yes | yes | NULL | U | 0 | yes |
346- +-------------------------------+-------+---------+------------+--------+----------+--------+
347- | .. c:macro:: PyBUF_RECORDS_RO | yes | yes | NULL | U | 1 or 0 | yes |
348- +-------------------------------+-------+---------+------------+--------+----------+--------+
349- | .. c:macro:: PyBUF_STRIDED | yes | yes | NULL | U | 0 | NULL |
350- +-------------------------------+-------+---------+------------+--------+----------+--------+
351- | .. c:macro:: PyBUF_STRIDED_RO | yes | yes | NULL | U | 1 or 0 | NULL |
352- +-------------------------------+-------+---------+------------+--------+----------+--------+
353- | .. c:macro:: PyBUF_CONTIG | yes | NULL | NULL | C | 0 | NULL |
354- +-------------------------------+-------+---------+------------+--------+----------+--------+
355- | .. c:macro:: PyBUF_CONTIG_RO | yes | NULL | NULL | C | 1 or 0 | NULL |
356- +-------------------------------+-------+---------+------------+--------+----------+--------+
379+ .. stable-abi-note ::
380+
381+ These values are available when compiling for the
382+ :ref: `Stable ABI <stable >` since version 3.11.
383+
384+ .. omit-stable-abi-notes ::
385+
386+ .. list-table ::
387+ :align: left
388+ :widths: auto
389+ :header-rows: 1
390+
391+ * - Request
392+ - shape
393+ - strides
394+ - suboffsets
395+ - contig
396+ - readonly
397+ - format
398+ * - .. c:macro: : PyBUF_FULL
399+ - yes
400+ - yes
401+ - if needed
402+ - U
403+ - 0
404+ - yes
405+ * - .. c:macro: : PyBUF_FULL_RO
406+ - yes
407+ - yes
408+ - if needed
409+ - U
410+ - 1 or 0
411+ - yes
412+ * - .. c:macro: : PyBUF_RECORDS
413+ - yes
414+ - yes
415+ - NULL
416+ - U
417+ - 0
418+ - yes
419+ * - .. c:macro: : PyBUF_RECORDS_RO
420+ - yes
421+ - yes
422+ - NULL
423+ - U
424+ - 1 or 0
425+ - yes
426+ * - .. c:macro: : PyBUF_STRIDED
427+ - yes
428+ - yes
429+ - NULL
430+ - U
431+ - 0
432+ - NULL
433+ * - .. c:macro: : PyBUF_STRIDED_RO
434+ - yes
435+ - yes
436+ - NULL
437+ - U
438+ - 1 or 0
439+ - NULL
440+ * - .. c:macro: : PyBUF_CONTIG
441+ - yes
442+ - NULL
443+ - NULL
444+ - C
445+ - 0
446+ - NULL
447+ * - .. c:macro: : PyBUF_CONTIG_RO
448+ - yes
449+ - NULL
450+ - NULL
451+ - C
452+ - 1 or 0
453+ - NULL
357454
358455
359456Complex arrays
0 commit comments