Improve support for third-party crates
cmpute opened this issue · 2 comments
cmpute commented
- Support
rand
forFBig
andRBig
- Support
num-traits
forFBig
andRBig
-
Zero
,One
,FromPrimitive
,ToPrimitive
,Num
-
Euclid
,Pow
-
- Support
zeroize
forFBig
andRBig
- Support
serde
forFBig
andRBig
- Support the
is_human_readable
option (see rust-num/num-rational#90) - Serialize to compact binary representation if
is_human_readable=false
, serialize all to string ifis_human_readable=true
- Improve efficiency of serialized
IBig
by store the sign bit in the LSB of the highest word (by always shifting the highest word left by 1). This is the zigzag encoding used by postcard.
- Support the
- Support
rkyv
forUBig
,IBig
,FBig
andRBig
, try to do zero-copying serialization in this framework. - Support
arbitrary::Arbitrary
orquickcheck::Arbitrary
forUBig
,IBig
,FBig
andRBig
- Support postgres decimal through
sqlx
,postgres
,tokio-postgres
ordiesel
crates (seefraction
andrust_decimal
crates) -
Supportpyo3
conversion-
ConvertUBig
andIBig
to native Python int -
ConvertDBig
to Python decimal -
ConvertRBig
andRelaxed
to Python fractions -
ConvertFBig
to native python float (double)
-
cmpute commented
Some crates that are related but not yet in the plan to support:
rust_decimal
half
cmpute commented
The support for PyO3 will be postponed, as PyO3 is being actively refactored.