We maintain several extension traits and copied code to work around missing upstream Plonky3 features. Some of these have since been merged upstream and can be replaced.
Ready to remove
Still needs upstream work
Local cleanup
Ported from 0xMiden/p3-miden#25
We maintain several extension traits and copied code to work around missing upstream Plonky3 features. Some of these have since been merged upstream and can be replaced.
Ready to remove
BitReversibleMatrixtrait copy (lmcs/bitrev.rs) — Marked "Temporary stopgap." Upstream matrix: implement BitReversibleMatrix for wrapper types Plonky3/Plonky3#1456 adds impls forFlatMatrixViewand wrapper types.PackedValueExt::pack_columns(lmcs/utils.rs) — Upstream Add broadcast, pack_columns, pack_columns_fn, and unpack_iter to PackedValue Plonky3/Plonky3#1450 addspack_columnsandpack_columns_fntoPackedValue.PackedFieldExtensionExt(pcs/utils.rs) — Partially covered by refactor(field): Add packed field extraction helpers and FieldArray utilities Plonky3/Plonky3#1211. Check whetherpack_ext_columnsandto_ext_sliceare now available upstream; remove what's covered.Still needs upstream work
RowMajorMatrixBitrevPackedExt(prover/constraints/packed_row_bitrev.rs) — Extension trait for accessing vertically packed rows from bit-reversed storage. No upstream equivalent.horner_acc/horner(pcs/utils.rs) — Generic Horner fold helpers. Could be proposed upstream.Local cleanup
log2_strict_u8— Duplicated inlifted-air/src/util.rsandlmcs/utils.rs. Deduplicate.Ported from 0xMiden/p3-miden#25