barretenberg
Loading...
Searching...
No Matches
src
barretenberg
proof_system
polynomial_store
polynomial_store_cache.hpp
1
#pragma once
2
#include "./polynomial_store_wasm.hpp"
3
#include "barretenberg/polynomials/polynomial.hpp"
4
#include <map>
5
#include <string>
6
7
namespace
proof_system {
8
18
class
PolynomialStoreCache
{
19
private
:
20
using
Polynomial
=
barretenberg::Polynomial<barretenberg::fr>
;
21
std::map<std::string, Polynomial> cache_;
22
std::multimap<size_t, std::map<std::string, Polynomial>::iterator> size_map_;
23
PolynomialStoreWasm<barretenberg::fr>
external_store;
24
size_t
max_cache_size_;
25
26
public
:
27
PolynomialStoreCache
();
28
explicit
PolynomialStoreCache
(
size_t
max_cache_size_);
29
30
void
put(std::string
const
& key,
Polynomial
&& value);
31
32
Polynomial
get(std::string
const
& key);
33
34
private
:
35
void
purge_until_free();
36
};
37
38
}
// namespace proof_system
barretenberg::Polynomial< barretenberg::fr >
proof_system::PolynomialStoreCache
Definition:
polynomial_store_cache.hpp:18
proof_system::PolynomialStoreWasm
Definition:
polynomial_store_wasm.hpp:8
Generated by
1.9.6