blob: 5c220afd3cdb39420bff35b0c1a5b022f9da5eac (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#ifndef _APPLY_MODELS_H_
#define _APPLY_MODELS_H_
struct ModelSet;
struct Hypergraph;
struct SentenceMetadata;
struct exhaustive_t {};
struct IntersectionConfiguration {
const int algorithm; // 0 = full intersection, 1 = cube pruning
const int pop_limit; // max number of pops off the heap at each node
IntersectionConfiguration(int alg, int k) : algorithm(alg), pop_limit(k) {}
IntersectionConfiguration(exhaustive_t t) : algorithm(0), pop_limit() {(void)t;}
};
void ApplyModelSet(const Hypergraph& in,
const SentenceMetadata& smeta,
const ModelSet& models,
const IntersectionConfiguration& config,
Hypergraph* out);
#endif
|