dashu
dashu copied to clipboard
Improve support for third-party crates
- [x] Support
randforFBigandRBig - [x] Support
num-traitsforFBigandRBig- [x]
Zero,One,FromPrimitive,ToPrimitive,Num - [x]
Euclid,Pow
- [x]
- [x] Support
zeroizeforFBigandRBig - [x] Support
serdeforFBigandRBig- Support the
is_human_readableoption (see https://github.com/rust-num/num-rational/issues/90) - Serialize to compact binary representation if
is_human_readable=false, serialize all to string ifis_human_readable=true - Improve efficiency of serialized
IBigby 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
rkyvforUBig,IBig,FBigandRBig, try to do zero-copying serialization in this framework. - [ ] Support
arbitrary::Arbitraryorquickcheck::ArbitraryforUBig,IBig,FBigandRBig - [x] Support postgres decimal through
sqlx,postgres,tokio-postgresordieselcrates (seefractionandrust_decimalcrates) - [ ] ~~Support
pyo3conversion~~- [ ] ~~Convert
UBigandIBigto native Python int~~ - [ ] ~~Convert
DBigto Python decimal~~ - [ ] ~~Convert
RBigandRelaxedto Python fractions~~ - [ ] ~~Convert
FBigto native python float (double)~~
- [ ] ~~Convert
Some crates that are related but not yet in the plan to support:
rust_decimalhalf
The support for PyO3 will be postponed, as PyO3 is being actively refactored.