Comments (3)
I think the example we discussed over the call, was due to derive macros.
Would be interesting to see the code complexity if these were implemented.
from hades252.
As the functions like result()
and pad()
have variadic arguments depending if we are working with R1CS or not, the only way to optimize the code (macros are inline) and also reduce the duplicate code is to use mentioned macros. Since type matching is quite ugly to apply.
Another option (that will prioritize readability) will be to implement these functions passing the extra parameters (if we work with R1CS) with Options
.
Something like:
pub fn constrain_result(
&mut self,
cs: Option<&mut dyn ConstraintSystem>,
) -> Result<Vec<T>, PermError> {
match cs {} // Check if we have a cs or we are not in the R1CS case.
// Code....
}
from hades252.
This does not make sense anymore since the changes done in #23
from hades252.
Related Issues (20)
- Update to `dusk-plonk` 0.9
- Deprecate crate after migration to dusk-poseidon
- Port Hades CI from Travis to Github Actions following the standard
- Fix license headers
- Partial round should apply ARK to all elements
- Bump BLS and Plonk
- Upgrade plonk to v0.5 HOT 1
- Prepare the repo to be published on crates.io
- Bump plonk to 0.6
- Plonk update to `0.7`
- Use latest bls, jubjub and plonk versions
- Remove anyhow from dev-deps
- Replace rand for rand_core::OsRng for randomness source provider
- Make the repo no_std by default requiring `alloc` feature to use GadgetStrategy and plonk-related stuff
- Release v0.16.0
- Prepare README for publish
- Solve docs.rs documentation uploading issues
- Refactor constants (ark, mds) to be populated at compile time
- Error during compilation in latest nightly rust toolchain
- Add toolchain file to the repo
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 hades252.