Skip to content

Commit 0b54719

Browse files
authored
Make appearance order for ND array constructs optional
1 parent 524ae57 commit 0b54719

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

JData_specification.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -632,9 +632,9 @@ Here, the array annotation keywords are defined below:
632632
* **`"_ArrayData_"`**: (required) a 1-D row vector (or a rectangular array, see below) storing the serialized
633633
array values, assuming the **row-major** element order if `"_ArrayOrder_"` is not specified.
634634

635-
To facilitate the pre-allocation of the buffer for storage of the array in the parser,
636-
it is required that the `"_ArrayType_"`, `"_ArraySize_"` and `"_ArrayOrder_"` (if present)
637-
nodes must appear before `"_ArrayData_"`.
635+
To facilitate the pre-allocation of the buffer for storage of the array in the parser, when
636+
an ordered object or map is used to store an array, it is recommended that the `"_ArrayType_"`,
637+
`"_ArraySize_"` and `"_ArrayOrder_"` (if present) nodes must appear before `"_ArrayData_"`.
638638

639639
In the case of complex-valued or sparse arrays or the presence of `"_ArrayShape_"` (see below),
640640
`"_ArrayData_"` may contain a 2-D rectangular array to store the pre-processed array elements.
@@ -688,7 +688,8 @@ For example, a complex double-precision 1x3 row vector `a=[2+6*i, 4+3.2*i, 1.2+
688688
}
689689
```
690690

691-
The `"_ArrayIsComplex_"` node must be presented before `"_ArrayData_"`.
691+
The `"_ArrayIsComplex_"` node is recommended to appear before `"_ArrayData_"` when an ordered
692+
object or map is used to store such data.
692693

693694
##### Sparse arrays
694695

@@ -759,7 +760,7 @@ JData can efficiently store a list of special matrices via the `"_ArrayShape_"`
759760

760761
The `"_ArrayShape_"` descriptor can be used in conjunction with `"_ArrayIsComplex_"`,
761762
but it shall not be used when `"_ArrayIsSparse_"` is set to `true`. The `"_ArrayShape_"`
762-
node must appear before `"_ArrayData_"` if present.
763+
node is recommended to appear before `"_ArrayData_"` if present.
763764

764765
The `"_ArrayShape_"` field shall be either in the form of
765766

@@ -968,9 +969,11 @@ In addition, the following optional parameters may also be used
968969
`"_ArrayShuffle_"` to a negative integer specifies bit-wised shuffle with the absolute value as the bit-wised
969970
shuffle spacing. `"_ArrayShuffle_"` must be applied, if present, before compression/encoding and an
970971
unshuffle operation must be applied upon decompression/decoding.
972+
* **`_ArrayZipLevel_`**: (optional) a numerical value, typically an integer between
973+
0 and 9, specifying the level of the compression (interpretation is method/library-dependent)
971974

972-
When a compressed array format is used, `"_ArrayZipType_"` and
973-
`"_ArrayZipSize_"` must appear before `"_ArrayZipData_"`.
975+
When a compressed array format is encoded in an ordered object, `"_ArrayZipType_"` and
976+
`"_ArrayZipSize_"` is recommended to appear before `"_ArrayZipData_"`.
974977

975978
`"_ArrayZipData_"` and `"_ArrayData_"` can not appear under the same parent node.
976979

0 commit comments

Comments
 (0)