- Make the curve config's omegas_count conditionally accessed when creating fields
- Remove the extern C function that returns a UDT containing non-POD types and replace it with a default_config function on the Rust bindings side
* Safer smart pointer that covers host and device
* Fixed MSM test
* Scalars and points in MSM are non-mutable in all cases
* change mont API (#332)
* Some Rust doc comments
---------
Co-authored-by: ChickenLover <Romangg81@gmail.com>
* fix memory error in single_stage_multi_reduction_kernel (#235)
* refactor
* refactor
* revert
* refactor: clang format
* Update icicle/appUtils/msm/msm.cu
* Added separate device context struct, returned lde
* wip - msm and eq
* added lde to cmake
* Montgomery param added in lde.cu mul function
* fixed on_device for ntt and lde
* CamelCase
* fixed msm_test, int unification, google guilde
* wip - ntt crash debugging
* async MSM with a rust wrapper
* wip ntt tests with corretness
* hotfix for correctness > 2^9
* wip on device inout mixing with correctness
* cleanup
* preserving twiddles after first call
* fixed twiddles preserving
* formatting
* removed some printing
* disable ecntt temporarily
* format
* rust fmt
* exclude target from format
* passing ntt after merge
* hotfix for linking issue
* format
* format
* draft of pr comments + correctness restored
* wip refactor + format
* domain wip
* rust format
* Merged feature branch in and Rust MSM correctness
* rust build for correct curve
* Slowdown fixed by passing release flag to cmake
* WIP field and curve
* still wip field and curve
* field and curve in rust 1.0
* Refactored rust into several crates
* Arkworks is now an option, bn254 crate created
* Rust msm and ntt wip
* A version of rust msm done, cuda runtime wrapped
* refactor rust by creating a curve folder
* vec_ops instead of lde for now
* format
---------
Co-authored-by: ImmanuelSegol <3ditds@gmail.com>
Co-authored-by: Vitalii <vitalii@ingonyama.com>