Comments (4)
91e98a9 is the first stable large reorganization matching all the above criteria. A few modules have been dropped for now (unfortunately including the some macro support). Slowly working on reintroducing these. the program and wrap_fn/invert_fn macros really need to be rewritten as procedural macros now to properly deal with generics and the stronger type constraints introduced by no longer using the dyn keyword.
from rustqip.
After some thought it seems the program!
and wrap!
/ invert_fn!
macros need to be significantly rethought. I believe with the strong types in the rewrite (such as no use of dyn
) they can't be rewritten as macro_rules!
without some significant complexity.
I am slowly learning how to write procedural macros to add these back in, since they are a cornerstone of QOL for this project.
from rustqip.
1ab3a11 is the bulk of the program! rewrite, it is now a procedural macro living in a package adjacent to the core qip code. It can be enabled via the "macros" feature. Some of the previously supported modules are gated by this now since they make heavy use of program!
The syntax changed a bit (mostly just additional semicolons and now longer requiring vertical bars where we would have preferred parens or square brackets), I'll update docs soon.
from rustqip.
Docs updated in f9940ca - while making the invert macro found a bug in some code from 91e98a9 for making subcircuits. This (further) tells me that I need to work on reintroducing the unit tests before working on any new 1.0 features.
from rustqip.
Related Issues (20)
- Debug QFFT HOT 1
- Improve documentation and add more inline doc examples.
- Find minimum version numbers for dependencies.
- Add support for statistical mixtures of quantum states.
- Add circuit serialization.
- Add a wiki with resources for learning quantum computing
- Add more benchmarks HOT 5
- Make op which reads from a mutable variable for tuning circuits. HOT 1
- Add Feynman path integral backend HOT 2
- Fix the endianess problem
- Clippy lints HOT 3
- Allow the `program!` macro to pass arguments to the gates. HOT 2
- GPU Backend support
- Document grovers algorithm example HOT 3
- Add circuit compilation + optimization HOT 1
- Can this library/crate implement an MBQC? HOT 1
- Add QASM output HOT 2
- Faer rs Backend HOT 4
- Linear type and quantum logic HOT 1
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 rustqip.