Skip to content

Commit f848fcf

Browse files
committed
Require transpose codec order option to be specified as an explicit permutation
The "C" and "F" constants were added to emphasize the relationship with the zarr v2 `order` metadata field. However, these contants are somewhat confusing: - "C" means no-op and therefore never needs to be used - "F" means reverse dimension order. If there are no other changes to the dimesnion order, this does indeed result in Fortran-order storage, but if there are other changes to the dimension order, that is not the case. For example, in the following: "codecs": [ {"name": "transpose", {"configuration": {"order": "F"}}}, {"name": "transpose", {"configuration": {"order": "C"}}}, {"name": "bytes"} ] or "codecs": [ {"name": "transpose", {"configuration": {"order": "C"}}}, {"name": "transpose", {"configuration": {"order": "F"}}}, {"name": "bytes"} ] the storage order is actually "F", while in the following: "codecs": [ {"name": "transpose", {"configuration": {"order": "F"}}}, {"name": "transpose", {"configuration": {"order": "F"}}}, {"name": "bytes"} ] the storage order is actually "C".
1 parent f7c5534 commit f848fcf

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

docs/v3/codecs/transpose/v1.0.rst

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,9 @@ Configuration parameters
6565
========================
6666

6767
order:
68-
Required. Must be one of:
69-
70-
- An array of integers specifying a permutation of ``0``, ``1``, ...,
71-
``n-1``, where ``n`` is the number of dimensions in the decoded chunk
72-
representation provided as input to this codec.
73-
- The string ``"C"``, equivalent to specifying the identity permutation
74-
``0``, ``1``, ..., ``n-1``. This makes the codec a no-op.
75-
- The string ``"F"``, equivalent to specifying the permutation ``n-1``, ...,
76-
``1``, ``0``.
68+
Required. Must be an array of integers specifying a permutation of ``0``, ``1``, ...,
69+
`n-1``, where ``n`` is the number of dimensions in the decoded chunk
70+
representation provided as input to this codec.
7771

7872
Format and algorithm
7973
====================
@@ -105,4 +99,8 @@ References
10599
Change log
106100
==========
107101

108-
No changes yet.
102+
Changes after acceptance of ZEP 1
103+
---------------------------------
104+
105+
The ``order`` configuration parameter no longer supports the constants ``"C"``
106+
or ``"F"`` and must instead always be specified as an explicit permutation.

0 commit comments

Comments
 (0)