31#include <gtest/gtest.h>
71 EXPECT_EQ(table.store(7, DummyEntry{1, 10}), TranspositionStoreStatus::Inserted);
75 auto *entry = table.probe(7);
80 EXPECT_EQ(table.store(7, DummyEntry{0, 5}), TranspositionStoreStatus::Rejected);
81 entry = table.probe(7);
86 EXPECT_EQ(table.store(7, DummyEntry{3, 15}), TranspositionStoreStatus::Replaced);
87 entry = table.probe(7);
94 const auto &stats = table.
stats();
109 EXPECT_EQ(table.store(CollidingKey{1}, DummyEntry{1, 11}),
110 TranspositionStoreStatus::Inserted);
111 EXPECT_EQ(table.store(CollidingKey{2}, DummyEntry{2, 22}),
112 TranspositionStoreStatus::Inserted);
114 auto *first = table.probe(CollidingKey{1});
115 auto *second = table.probe(CollidingKey{2});
Umbrella header for the implicit state-space search framework.
Generic linear hash table.
const size_t & size() const noexcept
Returns the number of elements in the table.
bool is_empty() const noexcept
return true is table is empty
Transposition-table container built on top of Aleph hash maps.
Stats stats() const
Computes statistics about chain length distribution.
Main namespace for Aleph-w library functions.
bool operator==(const DynList< T > &l1, const DynList< T > &l2)
Equality operator for DynList.
Divide_Conquer_DP_Result< Cost > divide_and_conquer_partition_dp(const size_t groups, const size_t n, Transition_Cost_Fn transition_cost, const Cost inf=dp_optimization_detail::default_inf< Cost >())
Optimize partition DP using divide-and-conquer optimization.
size_t aleph_hash_value(const AdversarialTranspositionKey< StateKey > &key) noexcept
Open addressing hash map using linear probing.
Replacement policy that prefers entries searched to greater depth.