diff --git a/Cargo.lock b/Cargo.lock index b29b5e31..448e6fa9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -45,9 +45,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bytemuck" -version = "1.12.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44f8cb64b4147a528e1e9e77583739e683541973295b35f3bd7e78d42c5971fd" +checksum = "2f5715e491b5a1598fc2bef5a606847b5dc1d48ea625bd3c02c00de8285591da" [[package]] name = "cfg-if" @@ -215,9 +215,9 @@ checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" [[package]] name = "libc" -version = "0.2.131" +version = "0.2.132" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04c3b4822ccebfa39c02fc03d1534441b22ead323fa0f48bb7ddd8e6ba076a40" +checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" [[package]] name = "libm" diff --git a/README.md b/README.md index 18de7e68..1506f19b 100644 --- a/README.md +++ b/README.md @@ -37,13 +37,17 @@ This repository contains two components: roqoqo provides: -* A circuit struct to represent quantum programs -* Single-Qubit, Two-Qubit and Multi-Qubit Operations that can be executed (decomposed) on any universal quantum computer -* PRAGMA Operations that only apply to certain hardware, simulators or annotate circuits with additional information -* Classical Registers and Measurement operations to use with a quantum program -* Measurement structs for evaluating observable measurements based on projective measurements from quantum hardware or simulator readouts -* A Backend trait defining a standard for interfacing from qoqo to other toolkits, hardware and simulators that can return measured values -* Serialize and deserialize support for circuits and measurement information via the serde crate. +* A `Circuit` struct to represent quantum circuits +* A `QuantumProgram` enum to represent quantum programs using different measurement methods +* Structs representing single-qubit, two-qubit, multi-qubit and measurement operations that can be executed (decomposed) on any universal quantum computer +* Structs representing so-called PRAGMA operations that only apply to certain hardware, simulators or annotate circuits with additional information +* Enums that group operations based on the properties of operations (*e.g.* `Operation` for all operations or `SingleQubitGateOperation` for all unitary operations acting on a single qubit) +* Support for symbolic variables +* Readout based on classical registers +* Measurement structs for evaluating observable measurements based on raw readout date returned by quantum computer backends +* An `EvaluatingBackend` trait defining a standard for interfacing from qoqo to hardware and simulators that can return measured values +* A `Device` trait defining a standard to obtain connectivity information and a noise model for quantum computing devices +* Serialize and deserialize support for `Circuit` and `QuantumProgram` via the serde crate. This software is still in the beta stage. Functions and documentation are not yet complete and breaking changes can occur. @@ -66,14 +70,15 @@ to the `[dependencies]` section of the project Cargo.toml. [![Crates.io](https://img.shields.io/crates/v/roqoqo)](https://crates.io/crates/qoqo) ![Crates.io](https://img.shields.io/crates/l/qoqo) -qoqo provides a full python interface to the underlying roqoqo library, including: +qoqo provides the Python interface to the underlying roqoqo library, including: -* A circuit class to represent quantum programs -* Single-Qubit, Two-Qubit and Multi-Qubit Operations that can be executed (decomposed) on any universal quantum computer -* PRAGMA Operations that only apply to certain hardware, simulators or annotate circuits with additional information -* Classical Register and Measurement operations to use with a quantum program -* Measurement structs for evaluating observable measurements based on projective measurements from quantum hardware or simulator readouts -* A QuantumProgram class combining circuits and measurement information in complete quantum programms with a simple interface +* A `Circuit` class to represent quantum circuits +* A `QuantumProgram` class to represent quantum programs +* Classes representing single-qubit, two-qubit, multi-qubit and measurement operations that can be executed (decomposed) on any universal quantum computer +* Classes representing so-called PRAGMA operations that only apply to certain hardware, simulators or annotate circuits with additional information +* Support for symbolic variables +* Readout based on classical registers +* Measurement classes for evaluating observable measurements based on raw readout date returned by quantum computer backends * Serialization to json and deserialization from json for circuits and measurement information. Serialization support can easily be expanded to other targets with the help of the serde crate. ### Installation @@ -84,13 +89,11 @@ On Linux, macOS and Windows on x86 precompiled packages can be found on PyPi and pip install qoqo ``` -Alternatively, installing from the source distribution is possible. For this, a rust toolchain and the maturin Python package need to be already installed. A Rust toolchain can be installed using rustup. -With this Rust toolchain installed, qoqo can be installed using a pip command: +If no pre-built python wheel is available for your architecture you can install qoqo from the source distribution using a rust toolchain (for example available via rustup) and maturin (also available via pip). After installing the rust toolchain and maturing run the same pip install command as above. In some cases on macOS it can be necessary to provide specific linker arguments as shown below: -```bash -# After installing the Rust toolchain, execute the following: -pip install maturin -pip install qoqo +```shell +# can be necessary on mscOS +RUSTFLAGS="-C link-arg=-undefined -C link-arg=dynamic_lookup" pip install qoqo ``` When using qoqo in a rust project providing a python interface add diff --git a/qoqo/README.md b/qoqo/README.md index 0b469f61..b0dfcb5c 100644 --- a/qoqo/README.md +++ b/qoqo/README.md @@ -12,7 +12,7 @@ What roqoqo/qoqo is: * A toolkit to represent quantum programs including circuits and measurement information * A thin runtime to run quantum measurements * A way to serialize quantum circuits and measurement information -* A set of optional interfaces to devices, simulators and toolkits (e.g. [qoqo_qest](https://github.com/HQSquantumsimulations/qoqo-quest), [qoqo_mock](https://github.com/HQSquantumsimulations/qoqo_mock), [qoqo_qasm](https://github.com/HQSquantumsimulations/qoqo_qasm)) +* A set of optional interfaces to devices, simulators and toolkits (e.g. [qoqo_quest](https://github.com/HQSquantumsimulations/qoqo-quest), [qoqo_mock](https://github.com/HQSquantumsimulations/qoqo_mock), [qoqo_qasm](https://github.com/HQSquantumsimulations/qoqo_qasm)) What roqoqo/qoqo is **not**: @@ -28,14 +28,15 @@ What roqoqo/qoqo is **not**: [![Crates.io](https://img.shields.io/crates/v/roqoqo)](https://crates.io/crates/qoqo) ![Crates.io](https://img.shields.io/crates/l/qoqo) -qoqo provides a full python interface to the underlying roqoqo library, including: +qoqo provides the Python interface to the underlying roqoqo library, including: -* A circuit class to represent quantum programs -* Single-Qubit, Two-Qubit and Multi-Qubit Operations that can be executed (decomposed) on any universal quantum computer -* PRAGMA Operations that only apply to certain hardware, simulators or annotate circuits with additional information -* Classical Register and Measurement operations to use with a quantum program -* Measurement structs for evaluating observable measurements based on projective measurements from quantum hardware or simulator readouts -* A QuantumProgram class combining circuits and measurement information in complete quantum programms with a simple interface +* A `Circuit` class to represent quantum circuits +* A `QuantumProgram` class to represent quantum programs +* Classes representing single-qubit, two-qubit, multi-qubit and measurement operations that can be executed (decomposed) on any universal quantum computer +* Classes representing so-called PRAGMA operations that only apply to certain hardware, simulators or annotate circuits with additional information +* Support for symbolic variables +* Readout based on classical registers +* Measurement classes for evaluating observable measurements based on raw readout date returned by quantum computer backends * Serialization to json and deserialization from json for circuits and measurement information. Serialization support can easily be expanded to other targets with the help of the serde crate. ### Installation @@ -46,13 +47,11 @@ On Linux, macOS and Windows on x86 precompiled packages can be found on PyPi and pip install qoqo ``` -Alternatively, installing from the source distribution is possible. For this, a rust toolchain and the maturin Python package need to be already installed. A Rust toolchain can be installed using rustup. -With this Rust toolchain installed, qoqo can be installed using a pip command: +If no pre-built python wheel is available for your architecture you can install qoqo from the source distribution using a rust toolchain (for example available via rustup) and maturin (also available via pip). After installing the rust toolchain and maturing run the same pip install command as above. In some cases on macOS it can be necessary to provide specific linker arguments as shown below: -```bash -# After installing the Rust toolchain, execute the following: -pip install maturin -pip install qoqo +```shell +# can be necessary on macOS +RUSTFLAGS="-C link-arg=-undefined -C link-arg=dynamic_lookup" pip install qoqo ``` When using qoqo in a rust project providing a python interface add diff --git a/qoqo/qoqo/DEPENDENCIES b/qoqo/qoqo/DEPENDENCIES index ab4882ba..e247955a 100644 --- a/qoqo/qoqo/DEPENDENCIES +++ b/qoqo/qoqo/DEPENDENCIES @@ -217,6 +217,35 @@ https://github.com/cuviper/autocfg by Josh Stone Automatic cfg for Rust compiler features License: Apache-2.0 OR MIT +---------------------------------------------------- +LICENSE-MIT: + +Copyright (c) 2018 Josh Stone + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + ---------------------------------------------------- LICENSE-APACHE: @@ -422,35 +451,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ----------------------------------------------------- -LICENSE-MIT: - -Copyright (c) 2018 Josh Stone - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - ==================================================== bincode 1.3.3 @@ -491,6 +491,35 @@ by The Rust Project Developers A macro to generate structures which behave like bitflags. License: MIT/Apache-2.0 +---------------------------------------------------- +LICENSE-MIT: + +Copyright (c) 2014 The Rust Project Developers + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + ---------------------------------------------------- LICENSE-APACHE: @@ -696,35 +725,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ----------------------------------------------------- -LICENSE-MIT: - -Copyright (c) 2014 The Rust Project Developers - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - ==================================================== bytemuck 1.12.0 @@ -732,6 +732,34 @@ https://github.com/Lokathor/bytemuck by Lokathor A crate for mucking around with piles of bytes. License: Zlib OR Apache-2.0 OR MIT +---------------------------------------------------- +LICENSE-ZLIB: + +Copyright (c) 2019 Daniel "Lokathor" Gee. + +This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +---------------------------------------------------- +LICENSE-MIT: + +MIT License + +Copyright (c) 2019 Daniel "Lokathor" Gee. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + ---------------------------------------------------- LICENSE-APACHE: @@ -797,34 +825,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ----------------------------------------------------- -LICENSE-ZLIB: - -Copyright (c) 2019 Daniel "Lokathor" Gee. - -This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source distribution. - ----------------------------------------------------- -LICENSE-MIT: - -MIT License - -Copyright (c) 2019 Daniel "Lokathor" Gee. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ==================================================== cfg-if 1.0.0 @@ -835,6 +835,35 @@ parameters. Structured like an if-else chain, the first matching branch is the item that gets emitted. License: MIT/Apache-2.0 +---------------------------------------------------- +LICENSE-MIT: + +Copyright (c) 2014 Alex Crichton + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + ---------------------------------------------------- LICENSE-APACHE: @@ -1040,10 +1069,18 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +getrandom 0.2.7 +https://github.com/rust-random/getrandom +by The Rand Project Developers +A small cross-platform library for retrieving random data from system source +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: -Copyright (c) 2014 Alex Crichton +Copyright 2018 Developers of the Rand project +Copyright (c) 2014 The Rust Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated @@ -1069,13 +1106,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -getrandom 0.2.7 -https://github.com/rust-random/getrandom -by The Rand Project Developers -A small cross-platform library for retrieving random data from system source -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -1281,12 +1311,16 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +indoc 1.0.7 +https://github.com/dtolnay/indoc +by David Tolnay +Indented document literals +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: -Copyright 2018 Developers of the Rand project -Copyright (c) 2014 The Rust Project Developers - Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the @@ -1311,13 +1345,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -indoc 1.0.7 -https://github.com/dtolnay/indoc -by David Tolnay -Indented document literals -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -1523,6 +1550,13 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +itoa 1.0.3 +https://github.com/dtolnay/itoa +by David Tolnay +Fast integer primitive to string conversion +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: @@ -1550,13 +1584,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -itoa 1.0.3 -https://github.com/dtolnay/itoa -by David Tolnay -Fast integer primitive to string conversion -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -1762,14 +1789,24 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ----------------------------------------------------- -LICENSE-MIT: -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, +==================================================== +libc 0.2.131 +https://github.com/rust-lang/libc +by The Rust Project Developers +Raw FFI bindings to platform libraries like libc. + +License: MIT OR Apache-2.0 +---------------------------------------------------- +LICENSE-MIT: + +Copyright (c) 2014-2020 The Rust Project Developers + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following @@ -1789,14 +1826,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -libc 0.2.131 -https://github.com/rust-lang/libc -by The Rust Project Developers -Raw FFI bindings to platform libraries like libc. - -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -1977,10 +2006,17 @@ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION END OF TERMS AND CONDITIONS + +==================================================== +libm 0.2.5 +https://github.com/rust-lang/libm +by Jorge Aparicio +libm in pure Rust +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: -Copyright (c) 2014-2020 The Rust Project Developers +Copyright (c) 2018 Jorge Aparicio Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated @@ -2006,13 +2042,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -libm 0.2.5 -https://github.com/rust-lang/libm -by Jorge Aparicio -libm in pure Rust -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -2218,10 +2247,17 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +lock_api 0.4.7 +https://github.com/Amanieu/parking_lot +by Amanieu d'Antras +Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std. +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: -Copyright (c) 2018 Jorge Aparicio +Copyright (c) 2016 The Rust Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated @@ -2247,13 +2283,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -lock_api 0.4.7 -https://github.com/Amanieu/parking_lot -by Amanieu d'Antras -Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std. -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -2459,10 +2488,21 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +matrixmultiply 0.3.2 +https://github.com/bluss/matrixmultiply/ +by bluss, R. Janis Goldschmidt +General matrix multiplication for f32 and f64 matrices. Operates on matrices with general layout (they can use arbitrary row and column stride). Detects and uses AVX or SSE2 on x86 platforms transparently for higher performance. Uses a microkernel strategy, so that the implementation is easy to parallelize and optimize. + +Supports multithreading. +License: MIT/Apache-2.0 ---------------------------------------------------- LICENSE-MIT: -Copyright (c) 2016 The Rust Project Developers +Copyright (c) 2016 - 2021 Ulrik Sverdrup "bluss" +Copyirhgt (c) 2018 R. Janis Goldschmidt +Copyright (c) 2021 DutchGhost [constparse.rs] Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated @@ -2488,15 +2528,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -matrixmultiply 0.3.2 -https://github.com/bluss/matrixmultiply/ -by bluss, R. Janis Goldschmidt -General matrix multiplication for f32 and f64 matrices. Operates on matrices with general layout (they can use arbitrary row and column stride). Detects and uses AVX or SSE2 on x86 platforms transparently for higher performance. Uses a microkernel strategy, so that the implementation is easy to parallelize and optimize. - -Supports multithreading. -License: MIT/Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -2702,37 +2733,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ----------------------------------------------------- -LICENSE-MIT: - -Copyright (c) 2016 - 2021 Ulrik Sverdrup "bluss" -Copyirhgt (c) 2018 R. Janis Goldschmidt -Copyright (c) 2021 DutchGhost [constparse.rs] - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - ==================================================== nalgebra 0.31.1 @@ -2959,6 +2959,37 @@ https://github.com/rust-ndarray/ndarray by Ulrik Sverdrup "bluss", Jim Turner An n-dimensional array for general elements and for numerics. Lightweight array views and slicing; views support chunking and splitting. License: MIT OR Apache-2.0 +---------------------------------------------------- +LICENSE-MIT: + +Copyright (c) 2015 - 2021 Ulrik Sverdrup "bluss", + Jim Turner, + and ndarray developers + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + ---------------------------------------------------- LICENSE-APACHE: @@ -3164,12 +3195,17 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +num-complex 0.4.2 +https://github.com/rust-num/num-complex +by The Rust Project Developers +Complex numbers implementation for Rust +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: -Copyright (c) 2015 - 2021 Ulrik Sverdrup "bluss", - Jim Turner, - and ndarray developers +Copyright (c) 2014 The Rust Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated @@ -3195,13 +3231,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -num-complex 0.4.2 -https://github.com/rust-num/num-complex -by The Rust Project Developers -Complex numbers implementation for Rust -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -3407,6 +3436,13 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +num-integer 0.1.45 +https://github.com/rust-num/num-integer +by The Rust Project Developers +Integer traits and functions +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: @@ -3436,13 +3472,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -num-integer 0.1.45 -https://github.com/rust-num/num-integer -by The Rust Project Developers -Integer traits and functions -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -3648,6 +3677,13 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +num-rational 0.4.1 +https://github.com/rust-num/num-rational +by The Rust Project Developers +Rational numbers implementation for Rust +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: @@ -3677,13 +3713,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -num-rational 0.4.1 -https://github.com/rust-num/num-rational -by The Rust Project Developers -Rational numbers implementation for Rust -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -3889,6 +3918,13 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +num-traits 0.2.15 +https://github.com/rust-num/num-traits +by The Rust Project Developers +Numeric traits for generic mathematics +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: @@ -3918,13 +3954,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -num-traits 0.2.15 -https://github.com/rust-num/num-traits -by The Rust Project Developers -Numeric traits for generic mathematics -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -4130,35 +4159,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ----------------------------------------------------- -LICENSE-MIT: - -Copyright (c) 2014 The Rust Project Developers - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - ==================================================== numpy 0.16.2 @@ -4203,21 +4203,48 @@ by Aleksey Kladov Single assignment cells and lazy values. License: MIT OR Apache-2.0 ---------------------------------------------------- -LICENSE-APACHE: - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. +LICENSE-MIT: - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +---------------------------------------------------- +LICENSE-APACHE: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common @@ -4407,9 +4434,18 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +parking_lot 0.12.1 +https://github.com/Amanieu/parking_lot +by Amanieu d'Antras +More compact and efficient implementations of the standard synchronization primitives. +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: +Copyright (c) 2016 The Rust Project Developers + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the @@ -4434,13 +4470,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -parking_lot 0.12.1 -https://github.com/Amanieu/parking_lot -by Amanieu d'Antras -More compact and efficient implementations of the standard synchronization primitives. -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -4646,6 +4675,13 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +parking_lot_core 0.9.3 +https://github.com/Amanieu/parking_lot +by Amanieu d'Antras +An advanced API for creating custom synchronization primitives. +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: @@ -4675,13 +4711,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -parking_lot_core 0.9.3 -https://github.com/Amanieu/parking_lot -by Amanieu d'Antras -An advanced API for creating custom synchronization primitives. -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -4887,10 +4916,17 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +paste 1.0.8 +https://github.com/dtolnay/paste +by David Tolnay +Macros for all your token pasting needs +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: -Copyright (c) 2016 The Rust Project Developers +Copyright (c) 2018 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated @@ -4916,13 +4952,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -paste 1.0.8 -https://github.com/dtolnay/paste -by David Tolnay -Macros for all your token pasting needs -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -5128,10 +5157,17 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +ppv-lite86 0.2.16 +https://github.com/cryptocorrosion/cryptocorrosion +by The CryptoCorrosion Contributors +Implementation of the crypto-simd API for x86 +License: MIT/Apache-2.0 ---------------------------------------------------- LICENSE-MIT: -Copyright (c) 2018 +Copyright (c) 2019 The CryptoCorrosion Contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated @@ -5157,13 +5193,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -ppv-lite86 0.2.16 -https://github.com/cryptocorrosion/cryptocorrosion -by The CryptoCorrosion Contributors -Implementation of the crypto-simd API for x86 -License: MIT/Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -5369,42 +5398,38 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +proc-macro-error 1.0.4 +https://gitlab.com/CreepySkeleton/proc-macro-error +by CreepySkeleton +Almost drop-in replacement to panics in proc-macros +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: -Copyright (c) 2019 The CryptoCorrosion Contributors +MIT License -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: +Copyright (c) 2019-2020 CreepySkeleton -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -==================================================== -proc-macro-error 1.0.4 -https://gitlab.com/CreepySkeleton/proc-macro-error -by CreepySkeleton -Almost drop-in replacement to panics in proc-macros -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -5610,6 +5635,13 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +proc-macro-error-attr 1.0.4 +https://gitlab.com/CreepySkeleton/proc-macro-error +by CreepySkeleton +Attribute macro for proc-macro-error crate +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: @@ -5635,13 +5667,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -proc-macro-error-attr 1.0.4 -https://gitlab.com/CreepySkeleton/proc-macro-error -by CreepySkeleton -Attribute macro for proc-macro-error crate -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -5847,31 +5872,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ----------------------------------------------------- -LICENSE-MIT: - -MIT License - -Copyright (c) 2019-2020 CreepySkeleton - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - ==================================================== proc-macro2 1.0.43 @@ -5879,6 +5879,35 @@ https://github.com/dtolnay/proc-macro2 by David Tolnay , Alex Crichton A substitute implementation of the compiler's `proc_macro` API to decouple token-based libraries from the procedural macro use case. License: MIT OR Apache-2.0 +---------------------------------------------------- +LICENSE-MIT: + +Copyright (c) 2014 Alex Crichton + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + ---------------------------------------------------- LICENSE-APACHE: @@ -6084,35 +6113,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ----------------------------------------------------- -LICENSE-MIT: - -Copyright (c) 2014 Alex Crichton - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - ==================================================== pyo3 0.16.5 @@ -8396,15 +8396,44 @@ by David Tolnay Quasi-quoting macro quote!(...) License: MIT OR Apache-2.0 ---------------------------------------------------- -LICENSE-APACHE: - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +LICENSE-MIT: -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +Copyright (c) 2016 The Rust Project Developers -1. Definitions. +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +---------------------------------------------------- +LICENSE-APACHE: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. @@ -8600,10 +8629,19 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +rand 0.8.5 +https://rust-random.github.io/book +by The Rand Project Developers, The Rust Project Developers +Random number generators and other randomness functionality. + +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: -Copyright (c) 2016 The Rust Project Developers +Copyright 2018 Developers of the Rand project +Copyright (c) 2014 The Rust Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated @@ -8629,14 +8667,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -rand 0.8.5 -https://rust-random.github.io/book -by The Rand Project Developers, The Rust Project Developers -Random number generators and other randomness functionality. - -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -8817,6 +8847,14 @@ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION END OF TERMS AND CONDITIONS + +==================================================== +rand_chacha 0.3.1 +https://rust-random.github.io/book +by The Rand Project Developers, The Rust Project Developers, The CryptoCorrosion Contributors +ChaCha random number generator + +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: @@ -8847,14 +8885,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -rand_chacha 0.3.1 -https://rust-random.github.io/book -by The Rand Project Developers, The Rust Project Developers, The CryptoCorrosion Contributors -ChaCha random number generator - -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -9060,6 +9090,14 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +rand_core 0.6.3 +https://rust-random.github.io/book +by The Rand Project Developers, The Rust Project Developers +Core random number generator traits and tools for implementation. + +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: @@ -9090,14 +9128,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -rand_core 0.6.3 -https://rust-random.github.io/book -by The Rand Project Developers, The Rust Project Developers -Core random number generator traits and tools for implementation. - -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -9303,11 +9333,18 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +rand_distr 0.4.3 +https://rust-random.github.io/book +by The Rand Project Developers +Sampling from random number distributions + +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: Copyright 2018 Developers of the Rand project -Copyright (c) 2014 The Rust Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated @@ -9333,14 +9370,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -rand_distr 0.4.3 -https://rust-random.github.io/book -by The Rand Project Developers -Sampling from random number distributions - -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -9532,10 +9561,21 @@ APPENDIX: How to apply the Apache License to your work. same "printed page" as the copyright notice for easier identification within third-party archives. + +==================================================== +rawpointer 0.2.1 +https://github.com/bluss/rawpointer/ +by bluss +Extra methods for raw pointers and `NonNull`. + +For example `.post_inc()` and `.pre_dec()` (c.f. `ptr++` and `--ptr`), +`offset` and `add` for `NonNull`, and the function `ptrdistance`. + +License: MIT/Apache-2.0 ---------------------------------------------------- LICENSE-MIT: -Copyright 2018 Developers of the Rand project +Copyright (c) 2015 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated @@ -9561,17 +9601,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -rawpointer 0.2.1 -https://github.com/bluss/rawpointer/ -by bluss -Extra methods for raw pointers and `NonNull`. - -For example `.post_inc()` and `.pre_dec()` (c.f. `ptr++` and `--ptr`), -`offset` and `add` for `NonNull`, and the function `ptrdistance`. - -License: MIT/Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -9777,35 +9806,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ----------------------------------------------------- -LICENSE-MIT: - -Copyright (c) 2015 - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - ==================================================== redox_syscall 0.2.16 @@ -10747,6 +10747,35 @@ Defines the macros `defer!`, `defer_on_unwind!`, `defer_on_success!` as shorthands for guards with one of the implemented strategies. License: MIT/Apache-2.0 +---------------------------------------------------- +LICENSE-MIT: + +Copyright (c) 2016-2019 Ulrik Sverdrup "bluss" and scopeguard developers + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + ---------------------------------------------------- LICENSE-APACHE: @@ -10952,11 +10981,16 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +serde 1.0.143 +https://serde.rs +by Erick Tryzelaar , David Tolnay +A generic serialization/deserialization framework +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: -Copyright (c) 2016-2019 Ulrik Sverdrup "bluss" and scopeguard developers - Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the @@ -10981,13 +11015,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -serde 1.0.143 -https://serde.rs -by Erick Tryzelaar , David Tolnay -A generic serialization/deserialization framework -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -11193,6 +11220,13 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +serde_derive 1.0.143 +https://serde.rs +by Erick Tryzelaar , David Tolnay +Macros 1.1 implementation of #[derive(Serialize, Deserialize)] +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: @@ -11220,13 +11254,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -serde_derive 1.0.143 -https://serde.rs -by Erick Tryzelaar , David Tolnay -Macros 1.1 implementation of #[derive(Serialize, Deserialize)] -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -11432,6 +11459,13 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +serde_json 1.0.83 +https://github.com/serde-rs/json +by Erick Tryzelaar , David Tolnay +A JSON serialization file format +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: @@ -11459,13 +11493,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -serde_json 1.0.83 -https://github.com/serde-rs/json -by Erick Tryzelaar , David Tolnay -A JSON serialization file format -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -11671,6 +11698,13 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +serde_test 1.0.143 +https://serde.rs +by Erick Tryzelaar , David Tolnay +Token De/Serializer for testing De/Serialize implementations +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: @@ -11698,13 +11732,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -serde_test 1.0.143 -https://serde.rs -by Erick Tryzelaar , David Tolnay -Token De/Serializer for testing De/Serialize implementations -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -11910,46 +11937,19 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +simba 0.7.2 +https://github.com/dimforge/simba +by sebcrozet +SIMD algebra for Rust +License: Apache-2.0 ---------------------------------------------------- -LICENSE-MIT: +LICENSE: -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - - -==================================================== -simba 0.7.2 -https://github.com/dimforge/simba -by sebcrozet -SIMD algebra for Rust -License: Apache-2.0 ----------------------------------------------------- -LICENSE: - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION @@ -12156,6 +12156,35 @@ https://github.com/servo/rust-smallvec by The Servo Project Developers 'Small vector' optimization: store up to a small number of items on the stack License: MIT OR Apache-2.0 +---------------------------------------------------- +LICENSE-MIT: + +Copyright (c) 2018 The Servo Project Developers + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + ---------------------------------------------------- LICENSE-APACHE: @@ -12361,11 +12390,16 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +syn 1.0.99 +https://github.com/dtolnay/syn +by David Tolnay +Parser for Rust source code +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: -Copyright (c) 2018 The Servo Project Developers - Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the @@ -12390,13 +12424,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -syn 1.0.99 -https://github.com/dtolnay/syn -by David Tolnay -Parser for Rust source code -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -12602,33 +12629,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ----------------------------------------------------- -LICENSE-MIT: - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - ==================================================== target-lexicon 0.12.4 @@ -12906,6 +12906,33 @@ https://github.com/dtolnay/thiserror by David Tolnay derive(Error) License: MIT OR Apache-2.0 +---------------------------------------------------- +LICENSE-MIT: + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + ---------------------------------------------------- LICENSE-APACHE: @@ -13111,6 +13138,13 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +thiserror-impl 1.0.32 +https://github.com/dtolnay/thiserror +by David Tolnay +Implementation detail of the `thiserror` crate +License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-MIT: @@ -13138,13 +13172,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -thiserror-impl 1.0.32 -https://github.com/dtolnay/thiserror -by David Tolnay -Implementation detail of the `thiserror` crate -License: MIT OR Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -13350,33 +13377,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ----------------------------------------------------- -LICENSE-MIT: - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - ==================================================== typenum 1.15.0 @@ -13387,6 +13387,35 @@ Typenum is a Rust library for type-level numbers evaluated at integers. It also provides a type-level array of type-level numbers, but its implementation is incomplete. License: MIT OR Apache-2.0 +---------------------------------------------------- +LICENSE: + +MIT OR Apache-2.0 +---------------------------------------------------- +LICENSE-MIT: + +The MIT License (MIT) + +Copyright (c) 2014 Paho Lurie-Gregg + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + ---------------------------------------------------- LICENSE-APACHE: @@ -13591,35 +13620,6 @@ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ----------------------------------------------------- -LICENSE: - -MIT OR Apache-2.0 ----------------------------------------------------- -LICENSE-MIT: - -The MIT License (MIT) - -Copyright (c) 2014 Paho Lurie-Gregg - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - ==================================================== unicode-ident 1.0.3 @@ -13677,6 +13677,33 @@ shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder. +---------------------------------------------------- +LICENSE-MIT: + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + ---------------------------------------------------- LICENSE-APACHE: @@ -13882,33 +13909,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ----------------------------------------------------- -LICENSE-MIT: - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - ==================================================== unindent 0.1.10 @@ -13916,211 +13916,6 @@ https://github.com/dtolnay/indoc by David Tolnay Remove a column of leading whitespace from a string License: MIT OR Apache-2.0 ----------------------------------------------------- -LICENSE-APACHE: - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - ---------------------------------------------------- LICENSE-MIT: @@ -14148,13 +13943,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -version_check 0.9.4 -https://github.com/SergioBenitez/version_check -by Sergio Benitez -Tiny crate to check the version of the installed/running rustc. -License: MIT/Apache-2.0 ---------------------------------------------------- LICENSE-APACHE: @@ -14360,6 +14148,13 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +version_check 0.9.4 +https://github.com/SergioBenitez/version_check +by Sergio Benitez +Tiny crate to check the version of the installed/running rustc. +License: MIT/Apache-2.0 ---------------------------------------------------- LICENSE-MIT: @@ -14383,13 +14178,6 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==================================================== -wasi 0.11.0+wasi-snapshot-preview1 -https://github.com/bytecodealliance/wasi -by The Cranelift Project Developers -Experimental WASI API bindings for Rust -License: Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT ---------------------------------------------------- LICENSE-APACHE: @@ -14595,6 +14383,13 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +==================================================== +wasi 0.11.0+wasi-snapshot-preview1 +https://github.com/bytecodealliance/wasi +by The Cranelift Project Developers +Experimental WASI API bindings for Rust +License: Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT ---------------------------------------------------- LICENSE-Apache-2.0_WITH_LLVM-exception: @@ -14846,6 +14641,211 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +---------------------------------------------------- +LICENSE-APACHE: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + ==================================================== wide 0.7.4 diff --git a/roqoqo/README.md b/roqoqo/README.md index e9724c46..a4e3b97b 100644 --- a/roqoqo/README.md +++ b/roqoqo/README.md @@ -9,7 +9,7 @@ What roqoqo is: * A toolkit to represent quantum programs including circuits and measurement information * A thin runtime to run quantum measurements * A way to serialize quantum circuits and measurement information -* A set of optional interfaces to devices, simulators and toolkits (e.g. [qoqo_qest](https://github.com/HQSquantumsimulations/qoqo-quest), [qoqo_mock](https://github.com/HQSquantumsimulations/qoqo_mock), [qoqo_qasm](https://github.com/HQSquantumsimulations/qoqo_qasm)) +* A set of optional interfaces to devices, simulators and toolkits (e.g. [qoqo_quest](https://github.com/HQSquantumsimulations/qoqo-quest), [qoqo_mock](https://github.com/HQSquantumsimulations/qoqo_mock), [qoqo_qasm](https://github.com/HQSquantumsimulations/qoqo_qasm)) What roqoqo is **not**: @@ -28,13 +28,17 @@ What roqoqo is **not**: roqoqo provides: -* A circuit struct to represent quantum programs -* Single-Qubit, Two-Qubit and Multi-Qubit Operations that can be executed (decomposed) on any universal quantum computer -* PRAGMA Operations that only apply to certain hardware, simulators or annotate circuits with additional information -* Classical Registers and Measurement operations to use with a quantum program -* Measurement structs for evaluating observable measurements based on projective measurements from quantum hardware or simulator readouts -* A Backend trait defining a standard for interfacing from qoqo to other toolkits, hardware and simulators that can return measured values -* Serialize and deserialize support for circuits and measurement information via the serde crate. +* A `Circuit` struct to represent quantum circuits +* A `QuantumProgram` enum to represent quantum programs using different measurement methods +* Structs representing single-qubit, two-qubit, multi-qubit and measurement operations that can be executed (decomposed) on any universal quantum computer +* Structs representing so-called PRAGMA operations that only apply to certain hardware, simulators or annotate circuits with additional information +* Enums that group operations based on the properties of operations (*e.g.* `Operation` for all operations or `SingleQubitGateOperation` for all unitary operations acting on a single qubit) +* Support for symbolic variables +* Readout based on classical registers +* Measurement structs for evaluating observable measurements based on raw readout date returned by quantum computer backends +* An `EvaluatingBackend` trait defining a standard for interfacing from qoqo to hardware and simulators that can return measured values +* A `Device` trait defining a standard to obtain connectivity information and a noise model for quantum computing devices +* Serialize and deserialize support for `Circuit` and `QuantumProgram` via the serde crate. This software is still in the beta stage. Functions and documentation are not yet complete and breaking changes can occur. diff --git a/roqoqo/tests/integration/circuit.rs b/roqoqo/tests/integration/circuit.rs index 134d0ef8..f3574c1a 100644 --- a/roqoqo/tests/integration/circuit.rs +++ b/roqoqo/tests/integration/circuit.rs @@ -159,7 +159,7 @@ fn substitute_params_calculator() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("test", 0.5); let result = circuit_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(result, circuit) } @@ -175,9 +175,9 @@ fn substitute_params_input_symbolic() { circuit_test.add_operation(InputSymbolic::new("test".to_string(), 0.5)); circuit_test.add_operation(RotateX::new(0, CalculatorFloat::from("test"))); - let mut substitution_dict: Calculator = Calculator::new(); + let substitution_dict: Calculator = Calculator::new(); let result = circuit_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(result, circuit) } diff --git a/roqoqo/tests/integration/operations/define_operations.rs b/roqoqo/tests/integration/operations/define_operations.rs index 019873c3..9dbb3594 100644 --- a/roqoqo/tests/integration/operations/define_operations.rs +++ b/roqoqo/tests/integration/operations/define_operations.rs @@ -80,9 +80,7 @@ fn definition_float_substitute_trait() { // (1) Substitute parameters function let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("test", 0.0); - let result = def_test - .substitute_parameters(&mut substitution_dict) - .unwrap(); + let result = def_test.substitute_parameters(&substitution_dict).unwrap(); assert_eq!(def, result); // (2) Remap qubits function @@ -204,9 +202,7 @@ fn definition_complex_substitute_trait() { // (1) Substitute parameters function let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("test", 0.0); - let result = def_test - .substitute_parameters(&mut substitution_dict) - .unwrap(); + let result = def_test.substitute_parameters(&substitution_dict).unwrap(); assert_eq!(def, result); // (2) Remap qubits function @@ -328,9 +324,7 @@ fn definition_usize_substitute_trait() { // (1) Substitute parameters function let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("test", 0.0); - let result = def_test - .substitute_parameters(&mut substitution_dict) - .unwrap(); + let result = def_test.substitute_parameters(&substitution_dict).unwrap(); assert_eq!(def, result); // (2) Remap qubits function @@ -452,9 +446,7 @@ fn definition_bit_substitute_trait() { // (1) Substitute parameters function let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("test", 0.0); - let result = def_test - .substitute_parameters(&mut substitution_dict) - .unwrap(); + let result = def_test.substitute_parameters(&substitution_dict).unwrap(); assert_eq!(def, result); // (2) Remap qubits function @@ -575,9 +567,7 @@ fn input_symbolic_substitute_trait() { // (1) Substitute parameters function let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("test", 0.0); - let result = def_test - .substitute_parameters(&mut substitution_dict) - .unwrap(); + let result = def_test.substitute_parameters(&substitution_dict).unwrap(); assert_eq!(def, result); // (2) Remap qubits function diff --git a/roqoqo/tests/integration/operations/measurement_operations.rs b/roqoqo/tests/integration/operations/measurement_operations.rs index 694193c8..6ffcb0d0 100644 --- a/roqoqo/tests/integration/operations/measurement_operations.rs +++ b/roqoqo/tests/integration/operations/measurement_operations.rs @@ -87,7 +87,7 @@ fn measure_qubit_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("ro", 0.0); let result = measure_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(measure, result); @@ -214,7 +214,7 @@ fn pragma_get_statevector_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("ro", 0.0); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(pragma, result); // // Error @@ -375,7 +375,7 @@ fn pragma_get_density_matrix_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("ro", 0.0); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); // add something that is remapped -> check that remap is correctly called assert_eq!(pragma, result); // // Error @@ -541,7 +541,7 @@ fn pragma_get_occupation_probability_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("ro", 0.0); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(pragma, result); // // Error @@ -725,7 +725,7 @@ fn pragma_get_pauli_product_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("ro", 0.0); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(pragma, result); @@ -965,7 +965,7 @@ fn pragma_repeated_measurement_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("ro", 0.0); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(pragma, result); diff --git a/roqoqo/tests/integration/operations/multi_qubit_gate_operations.rs b/roqoqo/tests/integration/operations/multi_qubit_gate_operations.rs index 3d60bce3..bfe168b6 100644 --- a/roqoqo/tests/integration/operations/multi_qubit_gate_operations.rs +++ b/roqoqo/tests/integration/operations/multi_qubit_gate_operations.rs @@ -232,7 +232,7 @@ fn test_substitute() { let gate = MultiQubitMS::new(qubits, CalculatorFloat::FRAC_PI_2); let mut calc = Calculator::new(); calc.set_variable("theta", std::f64::consts::FRAC_PI_2); - let gate_substituted = roqoqo::operations::Substitute::substitute_parameters(&gate1, &mut calc); + let gate_substituted = roqoqo::operations::Substitute::substitute_parameters(&gate1, &calc); let subs = gate_substituted.unwrap(); assert_eq!(gate, subs); let mut mapping: HashMap = std::collections::HashMap::new(); @@ -248,8 +248,8 @@ fn test_substitute() { fn test_substitute_error() { let qubits = vec![0, 1, 2]; let gate1 = MultiQubitMS::new(qubits, "theta".into()); - let mut calc = Calculator::new(); - let gate_substituted = gate1.substitute_parameters(&mut calc); + let calc = Calculator::new(); + let gate_substituted = gate1.substitute_parameters(&calc); assert!(gate_substituted.is_err()); let mut mapping: HashMap = std::collections::HashMap::new(); let _ = mapping.insert(1, 2); @@ -501,7 +501,7 @@ fn test_substitute_multi_qubit_zz() { let gate = MultiQubitZZ::new(qubits, CalculatorFloat::FRAC_PI_2); let mut calc = Calculator::new(); calc.set_variable("theta", std::f64::consts::FRAC_PI_2); - let gate_substituted = roqoqo::operations::Substitute::substitute_parameters(&gate1, &mut calc); + let gate_substituted = roqoqo::operations::Substitute::substitute_parameters(&gate1, &calc); let subs = gate_substituted.unwrap(); assert_eq!(gate, subs); let mut mapping: HashMap = std::collections::HashMap::new(); @@ -517,8 +517,8 @@ fn test_substitute_multi_qubit_zz() { fn test_substitute_error_multi_qubit_zz() { let qubits = vec![0, 1, 2]; let gate1 = MultiQubitZZ::new(qubits, "theta".into()); - let mut calc = Calculator::new(); - let gate_substituted = gate1.substitute_parameters(&mut calc); + let calc = Calculator::new(); + let gate_substituted = gate1.substitute_parameters(&calc); assert!(gate_substituted.is_err()); let mut mapping: HashMap = std::collections::HashMap::new(); let _ = mapping.insert(1, 2); diff --git a/roqoqo/tests/integration/operations/pragma_operations.rs b/roqoqo/tests/integration/operations/pragma_operations.rs index d60dc226..50320868 100644 --- a/roqoqo/tests/integration/operations/pragma_operations.rs +++ b/roqoqo/tests/integration/operations/pragma_operations.rs @@ -91,7 +91,7 @@ fn pragma_set_number_of_measurements_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("ro", 0.0); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(result, pragma); @@ -230,7 +230,7 @@ fn pragma_set_statevector_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("ro", 0.0); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(result, pragma); @@ -428,7 +428,7 @@ fn pragma_set_density_matrix_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("ro", 0.0); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(result, pragma); @@ -607,7 +607,7 @@ fn pragma_repeat_gate_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("ro", 0.0); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(result, pragma); @@ -728,7 +728,7 @@ fn pragma_overrotation_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("ro", 0.0); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(result, pragma); @@ -856,7 +856,7 @@ fn pragma_boost_noise_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("test", 0.003); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(result, pragma); @@ -982,7 +982,7 @@ fn pragma_stop_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("test", 0.0000001); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(result, pragma); @@ -1116,7 +1116,7 @@ fn pragma_global_phase_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("test", 0.05); let result_test = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(pragma, result_test); @@ -1241,7 +1241,7 @@ fn pragma_sleep_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("test", 0.0000001); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(result, pragma); @@ -1377,7 +1377,7 @@ fn pragma_active_reset_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("test", 0.05); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(result, pragma); @@ -1512,7 +1512,7 @@ fn pragma_start_decomp_block_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("test", 0.05); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(result, pragma); @@ -1658,7 +1658,7 @@ fn pragma_stop_decomp_block_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("test", 0.05); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(result, pragma); @@ -1801,7 +1801,7 @@ fn pragma_damping_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("test", 0.005); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(result, pragma); @@ -1983,7 +1983,7 @@ fn pragma_depolarising_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("test", 0.005); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(result, pragma); @@ -2165,7 +2165,7 @@ fn pragma_dephasing_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("test", 0.005); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(result, pragma); @@ -2374,7 +2374,7 @@ fn pragma_random_noise_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("test", 0.005); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(result, pragma); @@ -2576,7 +2576,7 @@ fn pragma_general_noise_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("test", 0.005); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(result, pragma); @@ -2614,7 +2614,7 @@ fn pragma_general_noise_pragmanoise_trait() { [0.00993092, -0.00195677, -0.00195677, 0.99850465] ]; - let result: Array2 = test_exponential.clone() - pragma.superoperator().unwrap(); + let result: Array2 = test_exponential - pragma.superoperator().unwrap(); for item in result.iter() { assert!(item.abs() <= 0.0001); } @@ -2789,7 +2789,7 @@ fn pragma_conditional_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("ro", 0.0); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(pragma, result); @@ -3002,7 +3002,7 @@ fn pragma_change_device_substitute_trait() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("ro", 0.0); let result = pragma_test - .substitute_parameters(&mut substitution_dict) + .substitute_parameters(&substitution_dict) .unwrap(); assert_eq!(pragma, result); diff --git a/roqoqo/tests/integration/operations/single_qubit_gate_operations.rs b/roqoqo/tests/integration/operations/single_qubit_gate_operations.rs index 32eb99e0..68508f22 100644 --- a/roqoqo/tests/integration/operations/single_qubit_gate_operations.rs +++ b/roqoqo/tests/integration/operations/single_qubit_gate_operations.rs @@ -418,7 +418,7 @@ fn test_singlequbitgate_substitute_parameters() { substitution_dict.set_variable("global_phase", PI); substitution_dict.set_variable("beta_r", 1.0); substitution_dict.set_variable("beta_i", -1.0); - let result = gate.substitute_parameters(&mut substitution_dict).unwrap(); + let result = gate.substitute_parameters(&substitution_dict).unwrap(); assert!(!result.is_parametrized()); assert_eq!(result.alpha_r(), CalculatorFloat::from(0.0)); assert_eq!(result.alpha_i(), CalculatorFloat::from(0.0)); @@ -1079,7 +1079,7 @@ fn test_rotatex_substitute_parameters() { assert!(gate.is_parametrized()); let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("theta", 0.0); - let result = gate.substitute_parameters(&mut substitution_dict).unwrap(); + let result = gate.substitute_parameters(&substitution_dict).unwrap(); assert!(!result.is_parametrized()); assert_eq!(result.theta().clone(), CalculatorFloat::from(0.0)); } @@ -1118,7 +1118,7 @@ fn test_rotatex_substitute_parameters() { fn test_ineffective_substitute_parameters(gate: SingleQubitGateOperation) { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("theta", 0.0); - let result = gate.substitute_parameters(&mut substitution_dict).unwrap(); + let result = gate.substitute_parameters(&substitution_dict).unwrap(); assert_eq!(result, gate); } @@ -1130,7 +1130,7 @@ fn test_rotatey_substitute_parameters() { assert!(gate.is_parametrized()); let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("theta", 0.0); - let result = gate.substitute_parameters(&mut substitution_dict).unwrap(); + let result = gate.substitute_parameters(&substitution_dict).unwrap(); assert!(!result.is_parametrized()); assert_eq!(result.theta().clone(), CalculatorFloat::from(0.0)); } @@ -1143,7 +1143,7 @@ fn test_rotatez_substitute_parameters() { assert!(gate.is_parametrized()); let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("theta", 0.0); - let result = gate.substitute_parameters(&mut substitution_dict).unwrap(); + let result = gate.substitute_parameters(&substitution_dict).unwrap(); assert!(!result.is_parametrized()); assert_eq!(result.theta().clone(), CalculatorFloat::from(0.0)); } @@ -1163,7 +1163,7 @@ fn test_phaseshiftstate0_substitute_parameters( // assert!(gate.is_parametrized()); let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("theta", 0.0); - let result = gate.substitute_parameters(&mut substitution_dict).unwrap(); + let result = gate.substitute_parameters(&substitution_dict).unwrap(); // assert!(!result.is_parametrized()); assert_eq!(result, testgate); } @@ -1176,7 +1176,7 @@ fn test_phaseshiftstate1_substitute_parameters() { assert!(gate.is_parametrized()); let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("theta", 0.0); - let result = gate.substitute_parameters(&mut substitution_dict).unwrap(); + let result = gate.substitute_parameters(&substitution_dict).unwrap(); assert!(!result.is_parametrized()); assert_eq!(result.theta().clone(), CalculatorFloat::from(0.0)); } @@ -1204,7 +1204,7 @@ fn test_rotatearoundsphericalaxis_substitute_parameters() { substitution_dict.set_variable("theta", 0.0); substitution_dict.set_variable("spherical_theta", PI); substitution_dict.set_variable("spherical_phi", PI / 2.0); - let result = gate.substitute_parameters(&mut substitution_dict).unwrap(); + let result = gate.substitute_parameters(&substitution_dict).unwrap(); assert!(!result.is_parametrized()); assert_eq!(result.theta().clone(), CalculatorFloat::from(0.0)); assert_eq!(result.spherical_theta().clone(), CalculatorFloat::from(PI)); @@ -1228,7 +1228,7 @@ fn test_rotatexy_substitute_parameters() { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("theta", 0.0); substitution_dict.set_variable("phi", PI / 2.0); - let result = gate.substitute_parameters(&mut substitution_dict).unwrap(); + let result = gate.substitute_parameters(&substitution_dict).unwrap(); assert!(!result.is_parametrized()); assert_eq!(result.theta().clone(), CalculatorFloat::from(0.0)); assert_eq!(result.phi().clone(), CalculatorFloat::from(PI / 2.0)); @@ -1574,7 +1574,7 @@ fn test_singlequbitgates_partialeq( gate1: SingleQubitGateOperation, gate2: SingleQubitGateOperation, ) { - assert!(gate1 == gate1); + assert!(gate1.clone() == gate1); assert!(gate1 == gate1.clone()); assert!(gate2 != gate1); assert!(gate1 != gate2); diff --git a/roqoqo/tests/integration/operations/two_qubit_gate_operations.rs b/roqoqo/tests/integration/operations/two_qubit_gate_operations.rs index 57941ac4..7b7b747f 100644 --- a/roqoqo/tests/integration/operations/two_qubit_gate_operations.rs +++ b/roqoqo/tests/integration/operations/two_qubit_gate_operations.rs @@ -850,7 +850,7 @@ fn test_two_qubitgates_debug(message: &'static str, gate: Operation) { Operation::from(PhaseShiftedControlledZ::new(0, 1, CalculatorFloat::PI)), Operation::from(PhaseShiftedControlledZ::new(1, 0, CalculatorFloat::PI)); "PhaseShiftedControlledZ")] fn test_twoqubitgates_partialeq(gate1: Operation, gate2: Operation) { - assert!(gate1 == gate1); + assert!(gate1.clone() == gate1); assert!(gate1 == gate1.clone()); assert!(gate2 != gate1); assert!(gate1 != gate2); @@ -900,7 +900,7 @@ fn test_rotate_powercf(gate: Rotation, gate2: Rotation) { fn test_ineffective_substitute_parameters(gate: Operation) { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("theta", 0.0); - let result = gate.substitute_parameters(&mut substitution_dict).unwrap(); + let result = gate.substitute_parameters(&substitution_dict).unwrap(); assert_eq!(result, gate); } @@ -932,7 +932,7 @@ fn test_ineffective_substitute_parameters(gate: Operation) { fn test_substitute_parameters(gate: Operation, gate2: Operation) { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("theta", 0.0); - let result = gate.substitute_parameters(&mut substitution_dict).unwrap(); + let result = gate.substitute_parameters(&substitution_dict).unwrap(); assert_eq!(result, gate2); } @@ -954,7 +954,7 @@ fn test_substitute_parameters(gate: Operation, gate2: Operation) { fn test_substitute_parameters_error(gate: Operation) { let mut substitution_dict: Calculator = Calculator::new(); substitution_dict.set_variable("error", 0.0); - let result = gate.substitute_parameters(&mut substitution_dict); + let result = gate.substitute_parameters(&substitution_dict); assert!(result.is_err()); } @@ -1062,7 +1062,7 @@ fn test_kakdecomposition_partialeq() { }; // comparison - assert!(gate1 == gate1); + assert!(gate1.clone() == gate1); assert!(gate1 == gate1.clone()); assert!(gate2 != gate1); assert!(gate1 != gate2);