|
PBeFS
Parallel Best-First Search
|
the entries of a pattern table whose excess is nonzero, by rank More...
#include <PBeFS/astar/PatternDatabase.h>
Public Member Functions | |
| int | value (std::uint64_t r, int m) const |
| the value of the rank r, whose placement has Manhattan distance m | |
| std::uint64_t | entries (void) const noexcept |
| the number of the entries | |
| std::uint64_t | nonzero (void) const noexcept |
| the entries whose excess is nonzero | |
| std::size_t | bytes (void) const noexcept |
| the bytes of B, of its directory and of the excesses | |
| std::vector< std::uint8_t > | payload (void) const |
| the bytes written in a file | |
Static Public Member Functions | |
| template<class M> | |
| static SparseEntries | encode (const std::vector< std::uint8_t > &h, M &&m, unsigned=1) |
| the encoding of the distances h, m( r ) the Manhattan distance of r | |
| static SparseEntries | decode (std::vector< std::uint8_t > data, std::uint64_t n, unsigned=1) |
| the encoding of n entries read from a file: the words of B, then the excesses | |
Static Public Attributes | |
| static constexpr std::uint32_t | code = 5 |
| the code in a file | |
| static constexpr const char * | name = "sparse" |
| the name | |
| static constexpr bool | relative = false |
| absolute values | |
the entries of a pattern table whose excess is nonzero, by rank
A vector of bits B tells which entries have a nonzero excess over the Manhattan distance [see NibbleEntries], and these excesses are stored in 4 bits each, in the order of their ranks, saturated at 15. The excess of the rank r is 0 if \( B[ r ] = 0 \), and otherwise the excess number \( rank_1( r ) \) of the list, on the RankSelect of ADS. It takes \( n ( 1 + \rho ) + 4 z \) bits for n entries, z of them nonzero, the directory of rank and select taking \( \rho n \) bits (about 0.4 n), and hence it is smaller than NibbleEntries when fewer than about 64% of the entries are nonzero, at the price of a rank per lookup.
|
inlinenodiscardnoexcept |
the bytes of B, of its directory and of the excesses
|
inlinestaticnodiscard |
the encoding of n entries read from a file: the words of B, then the excesses
|
inlinestaticnodiscard |
the encoding of the distances h, m( r ) the Manhattan distance of r
|
inlinenodiscardnoexcept |
the number of the entries
|
inlinenodiscardnoexcept |
the entries whose excess is nonzero
|
inlinenodiscard |
the bytes written in a file
|
inlinenodiscard |
the value of the rank r, whose placement has Manhattan distance m
|
staticconstexpr |
the code in a file
|
staticconstexpr |
the name
|
staticconstexpr |
absolute values