Certified native two-dimensional transpose #
This module gives the common two-axis rearrange permutation tiled native
implementations for packed FloatArray and ordinary polymorphic Array
storage. Their proof-visible definitions are ordinary row-major Array.ofFn
terms; compiled execution uses native tiled loops.
Shape-indexed form of transpose2DIndex used by tensor pullbacks.
Instances For
Proof-visible model of the packed two-dimensional transpose.
The source-size certificate is erased. It supplies the bounds needed by the ordinary finite-array model used in correctness proofs.
Instances For
Proof-visible model of the ordinary-array two-dimensional transpose.
The native implementation transfers retained object pointers directly. This model states the same operation solely in terms of ordinary array indexing.
Instances For
Native packed two-dimensional transpose, compiled to one tiled C loop.
Instances For
Use the tiled native packed transpose only in generated code.
Use the tiled native ordinary-array transpose only in generated code.
The packed transpose has exactly the transposed scalar count.
The native rank-two transpose implements the ordinary flat pullback.
The native ordinary-array transpose implements the flat pullback.