Creates a new ndarray with specified dimensions.
All elements are uninitialized. Use newZeros, newOnes, or newFull for initialized arrays.
Parameters:
- dims - Array of dimension sizes (must have at least 2 elements)
Returns: New NDArray with uninitialized data
Raises: ValueError if creation fails
Example:
let arr = newNDArray(@[3, 4]) # 3x4 uninitialized array
Creates a new ndarray filled with zeros.
Parameters:
- dims - Array of dimension sizes (must have at least 2 elements)
Returns: New NDArray filled with 0.0
Raises: ValueError if creation fails
Example:
let arr = newZeros(@[3, 4]) # 3x4 array of zeros
Creates a new ndarray filled with ones.
Parameters:
- dims - Array of dimension sizes (must have at least 2 elements)
Returns: New NDArray filled with 1.0
Raises: ValueError if creation fails
Example:
let arr = newOnes(@[3, 4]) # 3x4 array of ones
Creates a new ndarray filled with a specific value.
Parameters:
- dims - Array of dimension sizes (must have at least 2 elements)
- value - The value to fill the array with
Returns: New NDArray filled with the specified value
Raises: ValueError if creation fails
Example:
let arr = newFull(@[3, 4], 5.0) # 3x4 array filled with 5.0
Creates a new ndarray from existing data.
The data is copied into the new array. Data should be in row-major order.
Parameters:
- dims - Array of dimension sizes (must have at least 2 elements)
- data - Array of values to copy (size must match product of dims)
Returns: New NDArray with copied data
Raises: ValueError if creation fails
Example:
let data = @[1.0, 2.0, 3.0, 4.0, 5.0, 6.0] let arr = newFromData(@[2, 3], data) # 2x3 array from data
Procs
proc newFromData(dims: openArray[int]; data: openArray[float]): NDArray {. ...raises: [ValueError], tags: [], forbids: [].}
proc newNDArray(dims: openArray[int]): NDArray {....raises: [ValueError], tags: [], forbids: [].}