"PackedArray" (编译类型)

"PackedArray"::[type,rank]

表示有指定类型和秩的元素的压缩数组复合类型.

更多信息

构建器

  • 可以在编译后的代码中使用 List 创建压缩数组. »
  • CreateTypeInstance["PackedArray"::[type,rank],array] 构建 array 的拷贝.
  • CreateTypeInstance["PackedArray"::[type,1],carr,len] 根据长度为 len"CArray" carr 构建压缩数组. carr 可被封装在 "Managed" 中,也可以不被封装.

属性

  • 对于 "PackedArray"::[type,rank] 类型的 arrayInformation[array,"ElementType"] 给出 type .

转换

    Expressions

  • "PackedArray" 对象可以与适当形式的 List 对象相互转换. 对于要被转换为 "PackedArray"::[type,rank] 类型对象的 List 对象,它必须表示具有指定秩和元素类型的矩形数组.
  • "ListVector"

  • "PackedArray" 对象可以与 "ListVector" 对象相互转换.

运行时错误

    ArrayPartError

  • 属于由 "PackedArray" 构建的类型的元素在使用于提取或设置部分的运算中时可能会给出运行时错误.

范例

打开所有单元关闭所有单元

基本范例  (2)

"PackedArray" 可用作 CompiledCodeFunction 的输入或输出:

在编译后的代码中创建一个压缩数组:

范围  (1)

"MachineInteger" 由于其可取架构原生尺寸的整数因此可与 "PackedArray" 一起使用:

可能存在的问题  (1)

在运行函数时部分访问可能会引发错误. 此时计算停止,发送消息,然后使用 Wolfram Engine 计算结果: