WOLFRAM

"PackedArray"::[type,rank]

represents a packed array composite type with elements of specified type and rank.

Details

  • "PackedArray" can be used in Typed and related constructs to specify a type.
  • "PackedArray" objects are automatically memory managed.
  • Only elements that have a type of "MachineInteger", "Real64" or "ComplexReal64" can be stored in a "PackedArray".

Constructors

  • Packed arrays can be created with List in compiled code. »
  • CreateTypeInstance["PackedArray"::[type,rank],array] constructs a copy of array.
  • CreateTypeInstance["PackedArray"::[type,1],carr,len] constructs a packed array from a "CArray" carr with length len. carr can optionally be wrapped in "Managed".

Properties

  • Information[array,"ElementType"] for array of type "PackedArray"::[type,rank] gives type .

Conversions

    Expressions

  • "PackedArray" objects can be converted to and from List objects of the appropriate form. For a List object to be converted to an object of type "PackedArray"::[type,rank], it must represent a rectangular array with the specified rank and element type.
  • "ListVector"

  • "PackedArray" objects can be converted to and from "ListVector" objects.

Runtime Errors

    ArrayPartError

  • Elements with types constructed from "PackedArray" can give a runtime error if used in an operation that extracts or sets parts.

Examples

open allclose all

Basic Examples  (2)Summary of the most common use cases

"PackedArray" can be used as an input and output from a CompiledCodeFunction:

Out[1]=1
Out[2]=2

Create a packed array in compiled code:

Out[1]=1
Out[2]=2

Scope  (1)Survey of the scope of standard use cases

"MachineInteger" is useful for working with "PackedArray", since this takes integers of the native size for the architecture:

Out[1]=1
Out[2]=2

Possible Issues  (1)Common pitfalls and unexpected behavior

Part access can cause an error while running the function. The computation is terminated, a message is issued and the Wolfram Engine is used to compute the result:

Out[1]=1