UInt{8,16,64,128} into one struct UInt.bits module.std::ops traits for UInt and Boolean.Mul<NonnativeFieldVar> bounds and impls for CurveVar.NonNativeFieldVar to EmulatedFpVar.fields::nonnative to fields::emulated_fp.fields::nonnative::{Allocated}NonNativeMulResultVar to fields::emulated_fp::{Allocated}MulResultVar.ToBytesGadget::to_{non_unique_}bytes → ToBytesGadget::to_{non_unique_}bytes_in_le.{BitAnd,BitOr,BitXor,BitAndAssign,BitOrAssign,BitXorAssign}<T> for UInt<N, T, F>.UInt::rotate_{left,right}_in_place.{Boolean,UInt}::not_in_place.UInt::{from_bytes_le, from_bytes_be, to_bytes_be}.AllocVar::new_variable_with_inferred_mode.precomputed_base_scalar_mul_le to not discard previous value.scalar_mul_le constraints unsatisfiability when short Weierstrass point is zero.NonNativeFieldVar constants to little-endian bytes instead of big-endian (ToBytesGadget).FpVar::{is_eq, is_neq} by removing the unnecessary booleanity check.short_weierstrass::non_zero_affine module
and implement EqGadget for NonZeroAffineVar.NonNativeFieldVar from ark-nonnative to ark-r1cs-std.ToBytesGadget for Vec<UInt8>.new_witness_with_le_bits which returns the bits used during variable allocation.is_zero for twisted Edwards curves.query_position_to_coset consistent with ark-ldt.G2PreparedGadget's AllocVar when G2 uses a divisive twist.Sum trait for FpVar.mul_by_inverse_unchecked for FieldVar. This accompanies the bug fix in #70.mul_by_inverse for field gadgets.AllocatedBit to AllocatedBool for consistency with the Boolean variable.
You can update downstream usage with grep -rl 'AllocatedBit' . | xargs env LANG=C env LC_CTYPE=C sed -i '' 's/AllocatedBit/AllocatedBool/g'.Radix2Domain in r1cs-std to Radix2DomainVar.to_bytes.Radix2DomainVar.ToBitsGadget impl for FpVar fixed-sizeClone trait bound to CondSelectGadget.ToConstraintFieldGadget to ProjectiveVarcs to be None when converting a Montgomery point into a Twisted Edwards pointCondSelectGadget impl for UIntsthree_bit_cond_neg_lookupUIntsFpVar from bitsToConstraintFieldGadget for Vec<Uint8>CondSelectGadget to support random access of an arraythree_bit_cond_neg_lookup when using a constant lookup bitshort_weierstrass::ProjectiveVar::to_affineto_non_unique_bytes for BLS12::G1Preparedmul_by_inverse for constantsmul_by_inverse constraint countpanic='abort' in release mode, for safety of the library across FFI boundariesUInt docsInitial release