mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
fdr/teddy: dump confirm lit load
This commit is contained in:
parent
f762fb9af6
commit
cbcc46444b
@ -45,7 +45,7 @@
|
||||
#error No dump support!
|
||||
#endif
|
||||
|
||||
using std::unique_ptr;
|
||||
using namespace std;
|
||||
|
||||
namespace ue2 {
|
||||
|
||||
@ -60,6 +60,17 @@ bool fdrIsTeddy(const FDR *fdr) {
|
||||
return !getFdrDescription(engine);
|
||||
}
|
||||
|
||||
static
|
||||
void dumpLitIndex(const FDRConfirm *fdrc, FILE *f) {
|
||||
const u32 *lit_index = getConfirmLitIndex(fdrc);
|
||||
u32 num_lits = 1U << fdrc->nBits;
|
||||
u32 lits_used = count_if(lit_index, lit_index + num_lits,
|
||||
[](u32 idx) { return idx != 0; });
|
||||
|
||||
fprintf(f, " load %u/%u (%0.2f%%)\n", lits_used, num_lits,
|
||||
(double)lits_used / (double)(num_lits)*100);
|
||||
}
|
||||
|
||||
static
|
||||
void dumpConfirms(const void *fdr_base, u32 conf_offset, u32 num_confirms,
|
||||
FILE *f) {
|
||||
@ -71,6 +82,7 @@ void dumpConfirms(const void *fdr_base, u32 conf_offset, u32 num_confirms,
|
||||
fprintf(f, " mult 0x%016llx\n", fdrc->mult);
|
||||
fprintf(f, " nbits %u\n", fdrc->nBits);
|
||||
fprintf(f, " groups 0x%016llx\n", fdrc->groups);
|
||||
dumpLitIndex(fdrc, f);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user