PineForge
unreleased
Deterministic PineScript v6 backtest runtime — C ABI reference
Loading...
Searching...
No Matches
scratch_tables.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <cstdint>
4
5
namespace
pineforge
{
6
namespace
detail
{
7
8
enum class
ScratchTableBackend
: std::uint32_t {
9
disk_scratch
= 0,
10
bounded_memory
= 1,
11
};
12
13
// Admission maxima, not observed populations. K/B include erased keys and
14
// generated identifiers; all B fields count bytes, including embedded NULs.
15
struct
ScratchManifest
{
16
// Reserved zero: q is removed; retain these fields in their ABI order.
17
std::uint64_t
K_q
= 0;
18
std::uint64_t
B_q
= 0;
19
std::uint64_t
K_e
= 0;
20
std::uint64_t
B_e
= 0;
21
std::uint64_t
K_c
= 0;
22
std::uint64_t
B_c
= 0;
23
std::uint64_t
U
= 0;
24
std::uint64_t
B_U
= 0;
25
std::uint64_t
V
= 0;
26
std::uint64_t
B_V
= 0;
27
std::uint64_t
R
= 0;
28
};
29
30
struct
ScratchTableConfig
{
31
ScratchTableBackend
backend
=
ScratchTableBackend::disk_scratch
;
32
ScratchManifest
manifest
{};
33
};
34
35
class
ScratchSlab;
36
37
}
// namespace detail
38
}
// namespace pineforge
pineforge::detail
Definition
array.hpp:46
pineforge::detail::ScratchTableBackend
ScratchTableBackend
Definition
scratch_tables.hpp:8
pineforge::detail::ScratchTableBackend::bounded_memory
@ bounded_memory
Definition
scratch_tables.hpp:10
pineforge::detail::ScratchTableBackend::disk_scratch
@ disk_scratch
Definition
scratch_tables.hpp:9
pineforge
Definition
array.hpp:42
pineforge::detail::ScratchManifest
Definition
scratch_tables.hpp:15
pineforge::detail::ScratchManifest::K_c
std::uint64_t K_c
Definition
scratch_tables.hpp:21
pineforge::detail::ScratchManifest::R
std::uint64_t R
Definition
scratch_tables.hpp:27
pineforge::detail::ScratchManifest::V
std::uint64_t V
Definition
scratch_tables.hpp:25
pineforge::detail::ScratchManifest::K_e
std::uint64_t K_e
Definition
scratch_tables.hpp:19
pineforge::detail::ScratchManifest::K_q
std::uint64_t K_q
Definition
scratch_tables.hpp:17
pineforge::detail::ScratchManifest::B_e
std::uint64_t B_e
Definition
scratch_tables.hpp:20
pineforge::detail::ScratchManifest::B_U
std::uint64_t B_U
Definition
scratch_tables.hpp:24
pineforge::detail::ScratchManifest::B_V
std::uint64_t B_V
Definition
scratch_tables.hpp:26
pineforge::detail::ScratchManifest::B_c
std::uint64_t B_c
Definition
scratch_tables.hpp:22
pineforge::detail::ScratchManifest::B_q
std::uint64_t B_q
Definition
scratch_tables.hpp:18
pineforge::detail::ScratchManifest::U
std::uint64_t U
Definition
scratch_tables.hpp:23
pineforge::detail::ScratchTableConfig
Definition
scratch_tables.hpp:30
pineforge::detail::ScratchTableConfig::backend
ScratchTableBackend backend
Definition
scratch_tables.hpp:31
pineforge::detail::ScratchTableConfig::manifest
ScratchManifest manifest
Definition
scratch_tables.hpp:32
include
pineforge
detail
scratch_tables.hpp
PineForge unreleased — Apache-2.0 —
github.com/pineforge-4pass/pineforge-engine
—
pineforge.dev