mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-17 10:23:46 +00:00
Add a function that uses an array/1 value to construct an array2d/1 value
without allocating new memory for the element storage or traversing the
elements.
library/array2d.m:
Add a function that creates an array2d/1 from an array/1 value
Fix minor documentation issues:
- re-order the declarations so that of from_lists/1 is directly below
that of array2d/1.
- s/a/an/ in a few spots.
- add missing apostrophes.
NEWS:
Announce the new function.
tests/hard_coded/Mmakefile:
tests/hard_coded/array2d_from_array.{m,exp}:
Add a test case.
46 lines
972 B
Plaintext
46 lines
972 B
Plaintext
------FROM ARRAY------
|
|
Array = array([])
|
|
M = -1
|
|
N = -1
|
|
EXCEPTION: "array2d.from_array: bounds must be non-negative"
|
|
------FROM ARRAY------
|
|
Array = array([])
|
|
M = 0
|
|
N = -1
|
|
EXCEPTION: "array2d.from_array: bounds must be non-negative"
|
|
------FROM ARRAY------
|
|
Array = array([])
|
|
M = -1
|
|
N = 0
|
|
EXCEPTION: "array2d.from_array: bounds must be non-negative"
|
|
------FROM ARRAY------
|
|
Array = array([])
|
|
M = 2
|
|
N = 2
|
|
EXCEPTION: "array2d.from_array: too few elements"
|
|
------FROM ARRAY------
|
|
Array = array([1, 2, 3, 4, 5])
|
|
M = 2
|
|
N = 2
|
|
EXCEPTION: "array2d.from_array: too many elements"
|
|
------FROM ARRAY------
|
|
Array = array([])
|
|
M = 0
|
|
N = 0
|
|
Array2d = array2d(0, 0, array([]))
|
|
------FROM ARRAY------
|
|
Array = array([1])
|
|
M = 1
|
|
N = 1
|
|
Array2d = array2d(1, 1, array([1]))
|
|
------FROM ARRAY------
|
|
Array = array([1, 2, 3, 4])
|
|
M = 2
|
|
N = 2
|
|
Array2d = array2d(2, 2, array([1, 2, 3, 4]))
|
|
------FROM ARRAY------
|
|
Array = array([1, 2, 3, 4, 5, 6])
|
|
M = 2
|
|
N = 3
|
|
Array2d = array2d(2, 3, array([1, 2, 3, 4, 5, 6]))
|