|
purify
C++ Purify implementation with native circuit and BPP support
|
Caller-owned cache for reusable legacy Bulletproof backend resources keyed by gate count. More...
#include <bulletproof.hpp>
Data Structures | |
| struct | Impl |
Public Member Functions | |
| ExperimentalBulletproofBackendCache () | |
| ExperimentalBulletproofBackendCache (const ExperimentalBulletproofBackendCache &)=delete | |
| ExperimentalBulletproofBackendCache & | operator= (const ExperimentalBulletproofBackendCache &)=delete |
| ExperimentalBulletproofBackendCache (ExperimentalBulletproofBackendCache &&other) noexcept | |
| ExperimentalBulletproofBackendCache & | operator= (ExperimentalBulletproofBackendCache &&other) noexcept |
| ~ExperimentalBulletproofBackendCache () | |
| void | clear () |
| std::size_t | size () const noexcept |
| Result< ExperimentalBulletproofBackendCache > | clone_for_thread (std::size_t n_gates) const |
| Clones one warmed backend-resource entry for independent use on another thread. | |
| purify_bulletproof_backend_resources * | get_or_create (std::size_t n_gates, purify_secp_context *secp_context) |
| Returns cached backend resources for this gate count, creating them on first use. | |
Definition at line 312 of file bulletproof.hpp.
| purify::ExperimentalBulletproofBackendCache::ExperimentalBulletproofBackendCache | ( | ) |
Definition at line 40 of file bulletproof.cpp.
|
delete |
|
defaultnoexcept |
|
default |
| void purify::ExperimentalBulletproofBackendCache::clear | ( | ) |
Definition at line 50 of file bulletproof.cpp.
| Result< ExperimentalBulletproofBackendCache > purify::ExperimentalBulletproofBackendCache::clone_for_thread | ( | std::size_t | n_gates | ) | const |
If an entry for n_gates exists, the returned cache receives its own scratch space and generator set for that one line. If the entry is absent, the returned cache is empty and can rebuild the line lazily on first use.
Definition at line 60 of file bulletproof.cpp.
References purify::BackendRejectedInput, purify_bulletproof_backend_resources_clone(), and purify::unexpected_error().
| purify_bulletproof_backend_resources * purify::ExperimentalBulletproofBackendCache::get_or_create | ( | std::size_t | n_gates, |
| purify_secp_context * | secp_context | ||
| ) |
Definition at line 83 of file bulletproof.cpp.
References purify_bulletproof_backend_resources_create().
|
delete |
|
defaultnoexcept |
|
noexcept |
Definition at line 56 of file bulletproof.cpp.