fairmath / polycircuit Goto Github PK
View Code? Open in Web Editor NEWPolycircuit is an FHE components library built via FHERMA competitions
Home Page: https://fherma.io/challenges
License: Apache License 2.0
Polycircuit is an FHE components library built via FHERMA competitions
Home Page: https://fherma.io/challenges
License: Apache License 2.0
We have a couple of components in the competition phase on fherma right now. We shall add their description in the corresponding directories in the same manner as it is done for existing components.
Suggested content of a planned component markdown:
Apart from the markdown, let's add the header (*.hpp) file since it won't be changed after the component is finished. It provides the interface for the component and will help users to understand how it will be used. You can take the header from the corresponding repository in fherma github.
Our challenges platform hosts competitions where the winning solutions are subsequently open-sourced and integrated into our library as components.
Suggestion 1: I recommend incorporating markdown files that detail each component within the include/ directory's respective subdirectories. While our blog provides comprehensive summaries of these challenges, the content tends to be heavily focused on the competitions themselves. A more effective approach would be to extract and repurpose the functionality descriptions from these blog posts, using them to clearly articulate each component's purpose and capabilities within its markdown description.
Suggestion 2: It's also valuable to communicate the advantages of these components. Extract insights and highlights from our blog posts to articulate why these components stand out. This will not only inform users about the functionalities of the components but also convey their value and the problem-solving capabilities they bring to the table.
Suggestion 3: In the bin directory, we currently have binaries to build the particular component. I suggest adding some minor markdowns the as well.
By implementing these suggestions, we can enhance the repository's navigability and provide users with a clearer understanding of each component's functionality and benefits, directly linking the practical applications of our competition outcomes to real-world problem-solving scenarios.
Expected structure of the cpp dir after implementing all three suggestions:
├── CMakeLists.txt # Top-level CMake configuration
├── src/
├── include/
│ ├── matrix_mult/
│ │ ├── ckks.hpp
│ │ └── README.md # Description of matrix_mult component
│ ├── sigmoid/
│ │ ├── ckks.hpp
│ │ └── README.md # Description of sigmoid component
│ └── signum/
│ │ ├── ckks.hpp
│ │ └── README.md # Description of signum component
├── bin/
│ ├── matrix_mult/
│ │ ├── CMakeLists.txt
│ │ ├── main.cpp
│ │ └── README.md # Description and usage of matrix_mult standalone component bin
│ ├── sigmoid/
│ │ ├── CMakeLists.txt
│ │ ├── main.cpp
│ │ └── README.md # Description and usage of sigmoid standalone component bin
│ └── signum/
│ │ ├── CMakeLists.txt
│ │ ├── main.cpp
│ │ └── README.md # Description and usage of signum standalone component bin
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.