1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
#![deny(missing_debug_implementations, missing_docs, trivial_casts, trivial_numeric_casts, unused_extern_crates, unused_import_braces, unused_qualifications, unused_results)] //! An Open Source, High Performance & Hardware Accelerated, Quantum Computer Simulator in Rust //! //! This crate is a library with the aim to provide fast and effecient simulation of algorithms //! for quantum computers, while also being easy to use and abstracting away the management of the //! OpenCL Devices //! //! The best place to start with this library is with the [user guide](https://qcgpu.github.io/qcgpu/book), //! along with the docs (you're looking at them) and the [source code](https://github.com/QCGPU/QCGPU-rust) //! //! ## Features //! * Simulation of arbitrary quantum algorithms //! * Optional simulation of decoherence //! * Optimized for maximally entangled states //! * Accelerated with GPUs, FPGAs and other OpenCL devices //! * Example implementations of Grover, Deutsch-Jozsa, Bernstein-Vazirani and Shors algorithm //! * Implements Hadamard, Pauli and phase gates, with support for arbitrary gates //! * Support for arbitrary controlled gates extern crate num_complex; extern crate ocl; extern crate rand; mod kernel; mod state; mod utilities; pub mod gates; pub use state::State; pub use gates::Gate; pub use utilities::{gcd, get_width};