Comments (5)
Leaving that aside, the problem there is that you are using a trait, so you can't use UnsignedInteger
functions directly if you define the variable as U
. You are limited to the trait functions, because the U could be something different.
from lambdaworks.
Tanks a lot Mauro, you are truly a Rust warlock. So instead of generalize for any object with IsUnsignedInteger
trait implementation, I generalized for any NUM_LIMBS
constant value and used UnsignedInteger<NUM_LIMBS>
to generalize for any object following custom multiprecision unsigned integer struct like (Types: U256, U384,....). Seems Works and passes the tests:
from lambdaworks.
Don't generalize it over the trait, we just need it to work with UnsignedInteger<u: usize>
for now. This will enable the auto paramater generator we added to work smoothly, since rust don't like const functions in traits.
from lambdaworks.
This backend is to make generally optimized code and enable a fast implementation of any field. The IsUnsignedInteger
is for everything to keep working if you want to make a really specific optimization, or swap the native type for another one.
from lambdaworks.
Leaving that aside, the problem there is that you are using a trait, so you can't use
UnsignedInteger
functions directly if you define the variable asU
. You are limited to the trait functions, because the U could be something different.
I see the difference, thanks a lot. Generalizing through NUM_LIMS I can access all methods of UnsignedInteger
that is what I wanted.
from lambdaworks.
Related Issues (20)
- Review of some MSMs approaches and their bottlenecks/issues HOT 1
- How to bring MSMs Halo2-KZG within 10% of Constantine
- Checking Costantine library and copying some ideas and reference it
- Check pairing optimizations from constantine
- Add list of optimizations like the one constantine has
- Create vulkan GPU primitives
- Implement Montgomery backend with 32 bits HOT 4
- Add Babybear field to pre defined fields HOT 3
- Fast Mersennes Prime Field
- Optimize MSM pippenger: Trees of optional multi-scalar multiplications HOT 1
- Polynomial commitment scheme based on IPA HOT 1
- Add subgroup check to pairings HOT 2
- Implement "Efficient Final Exponentiation via Cyclotomic Structure for Pairings over Families of Elliptic Curves" HOT 2
- Error instead of panicking on `inv` function for `FieldElement` HOT 2
- Bn254 Curve HOT 2
- Broken links in Readme HOT 2
- Add GCD as a standalone function HOT 1
- Cairo Prover CLI Improvements
- feat(ci): add just file for easier linting
- Bug: UnsignedInteger reveals the secret value HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lambdaworks.