NumericArray

NumericArray[array,type]

creates a numeric array of the specified type.

NumericArray[array,type,method]

uses method to convert numbers into type.

Details and Options

  • NumericArray provides the most compact representation of array to reduce memory usage and enhance speed of execution.
  • The input array can be a full list of any depth containing machinesized integers and machinesized approximate real and complex numbers.
  • Possible settings for type include:
  • "Integer8"signed 8-bit integers from through 127
    "UnsignedInteger8"integers 0 through 255
    "Integer16"signed 16-bit integers from through
    "UnsignedInteger16"integers 0 through 65535
    "Integer32"signed 32-bit integers from through
    "UnsignedInteger32"integers 0 through
    "Integer64"signed 64-bit integers from through
    "UnsignedInteger64"integers 0 through
    "Real32"single-precision real (32-bit)
    "Real64"double-precision real (64-bit)
    "ComplexReal32"single-precision complex
    "ComplexReal64"double-precision complex
  • NumericArray[array,type] clips values to the range supported by type and rounds reals to integers, if necessary.
  • Other conversion method settings include:
  • "Check"checks values to be compatible with type
    "Coerce"coerces to type
    "Round"rounds reals to integers
    "ClipAndCheck"clips to the range and checks for compatible type
    "ClipAndCoerce"clips to the range and coerces to type
    "ClipAndRound"clips to the range and rounds reals to integers
  • For complex numbers, the method is applied separately to real and imaginary parts.
  • NumericArray is treated as a raw object by functions like AtomQ and for purposes of pattern matching.
  • Normal[NumericArray[]] yields the list of values in the numeric array.
  • Functions such as Length, Equal and First work with NumericArray objects.
  • Functions such as Part, Take and Drop can be used to take or drop parts of a NumericArray object.
  • Functions such as ListPlot, ArrayPlot and BarChart can visualize a NumericArray object.

Examples

open all close all

Basic Examples  (2)

Create a vector of byte size integers:

In[1]:=
Click for copyable input
Out[1]=

Convert a matrix of reals to a numeric array:

In[1]:=
Click for copyable input
Out[1]=

Convert back to a regular list:

In[2]:=
Click for copyable input
Out[2]=

Scope  (20)

Properties & Relations  (2)

Possible Issues  (2)

Introduced in 2019
(12.0)