diff options
author | Kenneth Heafield <github@kheafield.com> | 2012-10-22 12:07:20 +0100 |
---|---|---|
committer | Kenneth Heafield <github@kheafield.com> | 2012-10-22 12:07:20 +0100 |
commit | 5f98fe5c4f2a2090eeb9d30c030305a70a8347d1 (patch) | |
tree | 9b6002f850e6dea1e3400c6b19bb31a9cdf3067f /gi/pyp-topics | |
parent | cf9994131993b40be62e90e213b1e11e6b550143 (diff) | |
parent | 21825a09d97c2e0afd20512f306fb25fed55e529 (diff) |
Merge remote branch 'upstream/master'
Conflicts:
Jamroot
bjam
decoder/Jamfile
decoder/cdec.cc
dpmert/Jamfile
jam-files/sanity.jam
klm/lm/Jamfile
klm/util/Jamfile
mira/Jamfile
Diffstat (limited to 'gi/pyp-topics')
45 files changed, 0 insertions, 10648 deletions
diff --git a/gi/pyp-topics/scripts/contexts2documents.py b/gi/pyp-topics/scripts/contexts2documents.py deleted file mode 100755 index 9be4ebbb..00000000 --- a/gi/pyp-topics/scripts/contexts2documents.py +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/python - -import sys -from operator import itemgetter - -if len(sys.argv) > 3: - print "Usage: contexts2documents.py [contexts_index_out] [phrases_index_out]" - exit(1) - -context_index = {} -phrase_index = {} -for line in sys.stdin: - phrase, line_tail = line.split('\t') - - raw_contexts = line_tail.split('|||') - contexts = [c.strip() for x,c in enumerate(raw_contexts) if x%2 == 0] - counts = [int(c.split('=')[1].strip()) for x,c in enumerate(raw_contexts) if x%2 != 0] - phrase_index.setdefault(phrase, len(phrase_index)) - print len(contexts), - for context,count in zip(contexts,counts): - c = context_index.setdefault(context, len(context_index)) - print "%d:%d" % (c,count), - print -if 1 < len(sys.argv) < 4: - contexts_out = open(sys.argv[1],'w') - contexts = context_index.items() - contexts.sort(key = itemgetter(1)) - for context in contexts: - print >>contexts_out, context[0] - contexts_out.close() -if len(sys.argv) == 3: - phrases_out = open(sys.argv[2],'w') - phrases = phrase_index.items() - phrases.sort(key = itemgetter(1)) - for phrase in phrases: - print >>phrases_out, phrase[0] - phrases_out.close() diff --git a/gi/pyp-topics/scripts/extract_contexts.py b/gi/pyp-topics/scripts/extract_contexts.py deleted file mode 100755 index b2723f2a..00000000 --- a/gi/pyp-topics/scripts/extract_contexts.py +++ /dev/null @@ -1,144 +0,0 @@ -#!/usr/bin/python - -import sys,collections - -def extract_backoff(context_list, order): - assert len(context_list) == (2*order) - backoffs = [] - for i in range(1,order+1): - if i == order: - backoffs.append(([context_list[i-1]+"|"], ["|"+context_list[i]])) - else: - right_limit = 2*order-i - core = context_list[i:right_limit] - left = [context_list[i-1]+"|"*(order-i+1)] - right = ["|"*(order-i+1)+context_list[right_limit]] - backoffs.append((core, left, right)) -# print context_list, backoffs - return backoffs - -def tuple_to_str(t): - s="" - for i,x in enumerate(t): - if i > 0: s += "|" - s += str(x) - return s - -if len(sys.argv) < 3: - print "Usage: extract-contexts.py output_filename order cutoff lowercase" - exit(1) - -output_filename = sys.argv[1] -order = int(sys.argv[2]) -cutoff = 0 -if len(sys.argv) > 3: - cutoff = int(sys.argv[3]) -lowercase = False -if len(sys.argv) > 4: - lowercase = bool(sys.argv[4]) - -contexts_dict={} -contexts_list=[] -contexts_freq=collections.defaultdict(int) -contexts_backoff={} - -token_dict={} -token_list=[] -documents_dict=collections.defaultdict(dict) - -contexts_at_order = [i for i in range(order+1)] - -prefix = ["<s%d>|<s>"%i for i in range(order)] -suffix = ["</s%d>|</s>"%i for i in range(order)] - -for line in sys.stdin: - tokens = list(prefix) - tokens.extend(line.split()) - tokens.extend(suffix) - if lowercase: - tokens = map(lambda x: x.lower(), tokens) - - for i in range(order, len(tokens)-order): - context_list = [] - term="" - for j in range(i-order, i+order+1): - token,tag = tokens[j].rsplit('|',2) - if j != i: - context_list.append(token) - else: - if token not in token_dict: - token_dict[token] = len(token_dict) - token_list.append(token) - term = token_dict[token] - - context = tuple_to_str(tuple(context_list)) - - if context not in contexts_dict: - context_index = len(contexts_dict) - contexts_dict[context] = context_index - contexts_list.append(context) - contexts_at_order[0] += 1 - - # handle backoff - backoff_contexts = extract_backoff(context_list, order) - bo_indexes=[(context_index,)] -# bo_indexes=[(context,)] - for i,bo in enumerate(backoff_contexts): - factor_indexes=[] - for factor in bo: - bo_tuple = tuple_to_str(tuple(factor)) - if bo_tuple not in contexts_dict: - contexts_dict[bo_tuple] = len(contexts_dict) - contexts_list.append(bo_tuple) - contexts_at_order[i+1] += 1 -# factor_indexes.append(bo_tuple) - factor_indexes.append(contexts_dict[bo_tuple]) - bo_indexes.append(tuple(factor_indexes)) - - for i in range(len(bo_indexes)-1): - contexts_backoff[bo_indexes[i][0]] = bo_indexes[i+1] - - context_index = contexts_dict[context] - contexts_freq[context_index] += 1 - - if context_index not in documents_dict[term]: - documents_dict[term][context_index] = 1 - else: - documents_dict[term][context_index] += 1 - -term_file = open(output_filename+".terms",'w') -for t in token_list: print >>term_file, t -term_file.close() - -contexts_file = open(output_filename+".contexts",'w') -for c in contexts_list: - print >>contexts_file, c -contexts_file.close() - -data_file = open(output_filename+".data",'w') -for t in range(len(token_list)): - line="" - num_active=0 - for c in documents_dict[t]: - count = documents_dict[t][c] - if contexts_freq[c] >= cutoff: - line += (' ' + str(c) + ':' + str(count)) - num_active += 1 - if num_active > 0: - print >>data_file, "%d%s" % (num_active,line) -data_file.close() - -contexts_backoff_file = open(output_filename+".contexts_backoff",'w') -print >>contexts_backoff_file, len(contexts_list), order, -#for x in contexts_at_order: -# print >>contexts_backoff_file, x, -#print >>contexts_backoff_file -for x in range(order-1): - print >>contexts_backoff_file, 3, -print >>contexts_backoff_file, 2 - -for x in contexts_backoff: - print >>contexts_backoff_file, x, - for y in contexts_backoff[x]: print >>contexts_backoff_file, y, - print >>contexts_backoff_file -contexts_backoff_file.close() diff --git a/gi/pyp-topics/scripts/extract_contexts_test.py b/gi/pyp-topics/scripts/extract_contexts_test.py deleted file mode 100755 index 693b6e0b..00000000 --- a/gi/pyp-topics/scripts/extract_contexts_test.py +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/python - -import sys,collections - -def tuple_to_str(t): - s="" - for i,x in enumerate(t): - if i > 0: s += "|" - s += str(x) - return s - -if len(sys.argv) < 5: - print "Usage: extract-contexts_test.py output_filename vocab contexts order lowercase" - exit(1) - -output_filename = sys.argv[1] -output = open(output_filename+".test_data",'w') - -unk_term="-UNK-" -vocab_dict={} -for i,x in enumerate(file(sys.argv[2], 'r').readlines()): - vocab_dict[x.strip()]=i - -contexts_dict={} -contexts_list=[] -for i,x in enumerate(file(sys.argv[3], 'r').readlines()): - contexts_dict[x.strip()]=i - contexts_list.append(x.strip()) - -order = int(sys.argv[4]) - -lowercase = False -if len(sys.argv) > 5: - lowercase = bool(sys.argv[5]) -if lowercase: unk_term = unk_term.lower() - -prefix = ["<s%d>|<s>"%i for i in range(order)] -suffix = ["</s%d>|</s>"%i for i in range(order)] - -assert unk_term in vocab_dict -for line in sys.stdin: - tokens = list(prefix) - tokens.extend(line.split()) - tokens.extend(suffix) - if lowercase: - tokens = map(lambda x: x.lower(), tokens) - - for i in range(order, len(tokens)-order): - context_list=[] - term="" - for j in range(i-order, i+order+1): - token,tag = tokens[j].rsplit('|',2) - if j != i: - context_list.append(token) - else: - if token not in vocab_dict: - term = vocab_dict[unk_term] - else: - term = vocab_dict[token] - context = tuple_to_str(context_list) - if context not in contexts_dict: - contexts_dict[context] = len(contexts_dict) - contexts_list.append(context) - context_index = contexts_dict[context] - print >>output, "%d:%d" % (term,context_index), - print >>output -output.close() - -contexts_file = open(output_filename+".test_contexts",'w') -for c in contexts_list: - print >>contexts_file, c -contexts_file.close() diff --git a/gi/pyp-topics/scripts/extract_leaves.py b/gi/pyp-topics/scripts/extract_leaves.py deleted file mode 100755 index 14783b36..00000000 --- a/gi/pyp-topics/scripts/extract_leaves.py +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/python - -import nltk -import nltk.probability -import sys -import getopt - -lexicalise=False -rm_traces=False -cutoff=100 -length_cutoff=10000 -try: - opts, args = getopt.getopt(sys.argv[1:], "hs:c:l", ["help", "lexicalise", "cutoff","sentence-length","remove-traces"]) -except getopt.GetoptError: - print "Usage: extract_leaves.py [-lsc]" - sys.exit(2) -for opt, arg in opts: - if opt in ("-h", "--help"): - print "Usage: extract_leaves.py [-lsc]" - sys.exit() - elif opt in ("-l", "--lexicalise"): - lexicalise = True - elif opt in ("-c", "--cutoff"): - cutoff = int(arg) - elif opt in ("-s", "--sentence-length"): - length_cutoff = int(arg) - elif opt in ("--remove-traces"): - rm_traces = True - -token_freq = nltk.probability.FreqDist() -lines = [] -for line in sys.stdin: - t = nltk.Tree.parse(line) - pos = t.pos() - if len(pos) <= length_cutoff: - lines.append(pos) - for token, tag in pos: - token_freq.inc(token) - -for line in lines: - for token,tag in line: - if not (rm_traces and tag == "-NONE-"): - if lexicalise: - if token_freq[token] < cutoff: - token = '-UNK-' - print '%s|%s' % (token,tag), - else: - print '%s' % tag, - print diff --git a/gi/pyp-topics/scripts/map-documents.py b/gi/pyp-topics/scripts/map-documents.py deleted file mode 100755 index 703de312..00000000 --- a/gi/pyp-topics/scripts/map-documents.py +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/python - -import sys - -if len(sys.argv) != 2: - print "Usage: map-documents.py vocab-file" - exit(1) - -vocab = file(sys.argv[1], 'r').readlines() -term_dict = map(lambda x: x.strip(), vocab) - -for line in sys.stdin: - tokens = line.split() - for token in tokens: - elements = token.split(':') - if len(elements) == 1: - print "%s" % (term_dict[int(elements[0])]), - else: - print "%s:%s" % (term_dict[int(elements[0])], elements[1]), - print diff --git a/gi/pyp-topics/scripts/map-terms.py b/gi/pyp-topics/scripts/map-terms.py deleted file mode 100755 index eb0298d7..00000000 --- a/gi/pyp-topics/scripts/map-terms.py +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/python - -import sys - -if len(sys.argv) != 2: - print "Usage: map-terms.py vocab-file" - exit(1) - -vocab = file(sys.argv[1], 'r').readlines() -term_dict = map(lambda x: x.strip().replace(' ','_'), vocab) - -for line in sys.stdin: - tokens = line.split() - for token in tokens: - elements = token.split(':') - if len(elements) == 1: - print "%s" % (term_dict[int(elements[0])]), - else: - print "%s:%s" % (term_dict[int(elements[0])], elements[1]), - print diff --git a/gi/pyp-topics/scripts/run.sh b/gi/pyp-topics/scripts/run.sh deleted file mode 100644 index 19e625b1..00000000 --- a/gi/pyp-topics/scripts/run.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - - -./simple-extract-context.sh ~/workspace/clsp2010/jhuws2010/data/btec/split.zh-en.al 1 | ~/workspace/pyp-topics/scripts/contexts2documents.py > split.zh-en.data - -~/workspace/pyp-topics/bin/pyp-topics-train -d split.zh-en.data -t 50 -s 100 -o split.zh-en.documents.gz -w split.zh-en.topics.gz -gunzip split.zh-en.documents.gz - -~/workspace/cdec/extools/extractor -i ../jhuws2010/data/btec/split.zh-en.al -S 1 -c 500000 -L 12 --base_phrase_spans | ~/workspace/pyp-topics/scripts/spans2labels.py split.zh-en.phrases split.zh-en.contexts split.zh-en.documents > corpus.zh-en.labelled_spans - -paste -d " " ~/workspace/clsp2010/jhuws2010/data/btec/split.zh-en.al corpus.labelled_spans > split.zh-en.labelled_spans - -./simple-extract.sh ~/workspace/clsp2010/scratch/split.zh-en.labelled_spans diff --git a/gi/pyp-topics/scripts/score-mkcls.py b/gi/pyp-topics/scripts/score-mkcls.py deleted file mode 100755 index 6bd33fc5..00000000 --- a/gi/pyp-topics/scripts/score-mkcls.py +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/python - -import sys -from collections import defaultdict - -def dict_max(d): - max_val=-1 - max_key=None - for k in d: - if d[k] > max_val: - max_val = d[k] - max_key = k - assert max_key - return max_key - -if len(sys.argv) != 3: - print "Usage: score-mkcls.py gold classes" - exit(1) - -gold_file=open(sys.argv[1],'r') - -term_to_topics = {} -for line in open(sys.argv[2],'r'): - term,cls = line.split() - term_to_topics[term] = cls - -gold_to_topics = defaultdict(dict) -topics_to_gold = defaultdict(dict) - -for gold_line in gold_file: - gold_tokens = gold_line.split() - for gold_token in gold_tokens: - gold_term,gold_tag = gold_token.rsplit('|',1) - pred_token = term_to_topics[gold_term] - gold_to_topics[gold_tag][pred_token] \ - = gold_to_topics[gold_tag].get(pred_token, 0) + 1 - topics_to_gold[pred_token][gold_tag] \ - = topics_to_gold[pred_token].get(gold_tag, 0) + 1 - -pred=0 -correct=0 -gold_file=open(sys.argv[1],'r') -for gold_line in gold_file: - gold_tokens = gold_line.split() - - for gold_token in gold_tokens: - gold_term,gold_tag = gold_token.rsplit('|',1) - pred_token = term_to_topics[gold_term] - print "%s|%s|%s" % (gold_token, pred_token, dict_max(topics_to_gold[pred_token])), - pred += 1 - if gold_tag == dict_max(topics_to_gold[pred_token]): - correct += 1 - print -print >>sys.stderr, "Many-to-One Accuracy = %f" % (float(correct) / pred) -#for x in gold_to_topics: -# print x,dict_max(gold_to_topics[x]) -#print "###################################################" -#for x in range(len(topics_to_gold)): -# print x,dict_max(topics_to_gold[str(x)]) -# print x,topics_to_gold[str(x)] -#print term_to_topics diff --git a/gi/pyp-topics/scripts/score-topics.py b/gi/pyp-topics/scripts/score-topics.py deleted file mode 100755 index 1d8a1fcd..00000000 --- a/gi/pyp-topics/scripts/score-topics.py +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/python - -import sys -from collections import defaultdict - -def dict_max(d): - max_val=-1 - max_key=None - for k in d: - if d[k] > max_val: - max_val = d[k] - max_key = k - assert max_key - return max_key - -if len(sys.argv) != 3: - print "Usage: score-topics.py gold pred" - exit(1) - -gold_file=open(sys.argv[1],'r') -pred_file=open(sys.argv[2],'r') - -gold_to_topics = defaultdict(dict) -topics_to_gold = defaultdict(dict) -term_to_topics = defaultdict(dict) - -for gold_line,pred_line in zip(gold_file,pred_file): - gold_tokens = gold_line.split() - pred_tokens = pred_line.split() - assert len(gold_tokens) == len(pred_tokens) - - for gold_token,pred_token in zip(gold_tokens,pred_tokens): - gold_term,gold_tag = gold_token.rsplit('|',1) - gold_to_topics[gold_tag][pred_token] \ - = gold_to_topics[gold_tag].get(pred_token, 0) + 1 - term_to_topics[gold_term][pred_token] \ - = term_to_topics[gold_term].get(pred_token, 0) + 1 - topics_to_gold[pred_token][gold_tag] \ - = topics_to_gold[pred_token].get(gold_tag, 0) + 1 - -pred=0 -correct=0 -gold_file=open(sys.argv[1],'r') -pred_file=open(sys.argv[2],'r') -for gold_line,pred_line in zip(gold_file,pred_file): - gold_tokens = gold_line.split() - pred_tokens = pred_line.split() - - for gold_token,pred_token in zip(gold_tokens,pred_tokens): - gold_term,gold_tag = gold_token.rsplit('|',1) -# print "%s|%s" % (gold_token, dict_max(gold_to_topics[gold_tag])), - print "%s|%s|%s" % (gold_token, pred_token, dict_max(topics_to_gold[pred_token])), - pred += 1 - if gold_tag == dict_max(topics_to_gold[pred_token]): - correct += 1 - print -print >>sys.stderr, "Many-to-One Accuracy = %f" % (float(correct) / pred) -#for x in gold_to_topics: -# print x,dict_max(gold_to_topics[x]) -#print "###################################################" -#for x in range(len(topics_to_gold)): -# print x,dict_max(topics_to_gold[str(x)]) -# print x,topics_to_gold[str(x)] -#print term_to_topics diff --git a/gi/pyp-topics/scripts/spans2labels.py b/gi/pyp-topics/scripts/spans2labels.py deleted file mode 100755 index 50fa8106..00000000 --- a/gi/pyp-topics/scripts/spans2labels.py +++ /dev/null @@ -1,137 +0,0 @@ -#!/usr/bin/python - -import sys -from operator import itemgetter - -if len(sys.argv) <= 2: - print "Usage: spans2labels.py phrase_context_index [order] [threshold] [languages={s,t,b}{s,t,b}] [type={tag,tok,both},{tag,tok,both}]" - exit(1) - -order=1 -threshold = 0 -cutoff_cat = "<UNK>" -if len(sys.argv) > 2: - order = int(sys.argv[2]) -if len(sys.argv) > 3: - threshold = float(sys.argv[3]) -phr=ctx='t' -if len(sys.argv) > 4: - phr, ctx = sys.argv[4] - assert phr in 'stb' - assert ctx in 'stb' -phr_typ = ctx_typ = 'both' -if len(sys.argv) > 5: - phr_typ, ctx_typ = sys.argv[5].split(',') - assert phr_typ in ('tag', 'tok', 'both') - assert ctx_typ in ('tag', 'tok', 'both') - -#print >>sys.stderr, "Loading phrase index" -phrase_context_index = {} -for line in file(sys.argv[1], 'r'): - phrase,tail= line.split('\t') - contexts = tail.split(" ||| ") - try: # remove Phil's bizarre integer pair - x,y = contexts[0].split() - x=int(x); y=int(y) - contexts = contexts[1:] - except: - pass - if len(contexts) == 1: continue - assert len(contexts) % 2 == 0 - for i in range(0, len(contexts), 2): - #parse contexts[i+1] = " C=1 P=0.8 ... " - features=dict([ keyval.split('=') for keyval in contexts[i+1].split()]) - category = features['C'] - if features.has_key('P') and float(features['P']) < threshold: - category = cutoff_cat - - phrase_context_index[(phrase,contexts[i])] = category - #print (phrase,contexts[i]), category - -#print >>sys.stderr, "Labelling spans" -for line in sys.stdin: - #print >>sys.stderr, "line", line.strip() - line_segments = line.split(' ||| ') - assert len(line_segments) >= 3 - source = ['<s>' for x in range(order)] + line_segments[0].split() + ['</s>' for x in range(order)] - target = ['<s>' for x in range(order)] + line_segments[1].split() + ['</s>' for x in range(order)] - phrases = [ [int(i) for i in x.split('-')] for x in line_segments[2].split()] - - if phr_typ != 'both' or ctx_typ != 'both': - if phr in 'tb' or ctx in 'tb': - target_toks = ['<s>' for x in range(order)] + map(lambda x: x.rsplit('_', 1)[0], line_segments[1].split()) + ['</s>' for x in range(order)] - target_tags = ['<s>' for x in range(order)] + map(lambda x: x.rsplit('_', 1)[-1], line_segments[1].split()) + ['</s>' for x in range(order)] - - if phr in 'tb': - if phr_typ == 'tok': - targetP = target_toks - elif phr_typ == 'tag': - targetP = target_tags - if ctx in 'tb': - if ctx_typ == 'tok': - targetC = target_toks - elif ctx_typ == 'tag': - targetC = target_tags - - if phr in 'sb' or ctx in 'sb': - source_toks = ['<s>' for x in range(order)] + map(lambda x: x.rsplit('_', 1)[0], line_segments[0].split()) + ['</s>' for x in range(order)] - source_tags = ['<s>' for x in range(order)] + map(lambda x: x.rsplit('_', 1)[-1], line_segments[0].split()) + ['</s>' for x in range(order)] - - if phr in 'sb': - if phr_typ == 'tok': - sourceP = source_toks - elif phr_typ == 'tag': - sourceP = source_tags - if ctx in 'sb': - if ctx_typ == 'tok': - sourceC = source_toks - elif ctx_typ == 'tag': - sourceC = source_tags - else: - sourceP = sourceC = source - targetP = targetC = target - - #print >>sys.stderr, "line", source, '---', target, 'phrases', phrases - - print "|||", - - for s1,s2,t1,t2 in phrases: - s1 += order - s2 += order - t1 += order - t2 += order - - phraset = phrases = contextt = contexts = '' - if phr in 'tb': - phraset = reduce(lambda x, y: x+y+" ", targetP[t1:t2], "").strip() - if phr in 'sb': - phrases = reduce(lambda x, y: x+y+" ", sourceP[s1:s2], "").strip() - - if ctx in 'tb': - left_context = reduce(lambda x, y: x+y+" ", targetC[t1-order:t1], "") - right_context = reduce(lambda x, y: x+y+" ", targetC[t2:t2+order], "").strip() - contextt = "%s<PHRASE> %s" % (left_context, right_context) - if ctx in 'sb': - left_context = reduce(lambda x, y: x+y+" ", sourceC[s1-order:s1], "") - right_context = reduce(lambda x, y: x+y+" ", sourceC[s2:s2+order], "").strip() - contexts = "%s<PHRASE> %s" % (left_context, right_context) - - if phr == 'b': - phrase = phraset + ' <SPLIT> ' + phrases - elif phr == 's': - phrase = phrases - else: - phrase = phraset - - if ctx == 'b': - context = contextt + ' <SPLIT> ' + contexts - elif ctx == 's': - context = contexts - else: - context = contextt - - #print "%d-%d-%d-%d looking up" % (s1-order,s2-order,t1-order,t2-order), (phrase, context) - label = phrase_context_index.get((phrase,context), cutoff_cat) - if label != cutoff_cat: #cutoff'd spans are left unlabelled - print "%d-%d-%d-%d:X%s" % (s1-order,s2-order,t1-order,t2-order,label), - print diff --git a/gi/pyp-topics/scripts/tokens2classes.py b/gi/pyp-topics/scripts/tokens2classes.py deleted file mode 100755 index 33df255f..00000000 --- a/gi/pyp-topics/scripts/tokens2classes.py +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/python - -import sys - -if len(sys.argv) != 3: - print "Usage: tokens2classes.py source_classes target_classes" - exit(1) - -source_to_topics = {} -for line in open(sys.argv[1],'r'): - term,cls = line.split() - source_to_topics[term] = cls - -target_to_topics = {} -for line in open(sys.argv[2],'r'): - term,cls = line.split() - target_to_topics[term] = cls - -for line in sys.stdin: - source, target, tail = line.split(" ||| ") - - for token in source.split(): - print source_to_topics[token], - print "|||", - for token in target.split(): - print target_to_topics[token], - print "|||", tail, diff --git a/gi/pyp-topics/scripts/topics.py b/gi/pyp-topics/scripts/topics.py deleted file mode 100755 index 0db1af71..00000000 --- a/gi/pyp-topics/scripts/topics.py +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/python - -import sys - -if len(sys.argv) != 2: - print "Usage: topics.py words-per-topic" - exit(1) - -for t,line in enumerate(sys.stdin): - tokens = line.split() - terms = [] - for token in tokens: - elements = token.rsplit(':',1) - terms.append((int(elements[1]),elements[0])) - terms.sort() - terms.reverse() - - print "Topic %d:" % t - map(lambda (x,y) : sys.stdout.write(" %s:%s\n" % (y,x)), terms[:int(sys.argv[1])]) - print diff --git a/gi/pyp-topics/src/Makefile.am b/gi/pyp-topics/src/Makefile.am deleted file mode 100644 index d3f95d0b..00000000 --- a/gi/pyp-topics/src/Makefile.am +++ /dev/null @@ -1,16 +0,0 @@ -bin_PROGRAMS = pyp-topics-train pyp-contexts-train #mpi-pyp-contexts-train - -contexts_lexer.cc: contexts_lexer.l - $(LEX) -s -CF -8 -o$@ $< - -pyp_topics_train_SOURCES = mt19937ar.c corpus.cc gzstream.cc pyp-topics.cc train.cc contexts_lexer.cc contexts_corpus.cc -pyp_topics_train_LDADD = $(top_srcdir)/utils/libutils.a -lz - -pyp_contexts_train_SOURCES = mt19937ar.c corpus.cc gzstream.cc pyp-topics.cc contexts_lexer.cc contexts_corpus.cc train-contexts.cc -pyp_contexts_train_LDADD = $(top_srcdir)/utils/libutils.a -lz - -#mpi_pyp_contexts_train_SOURCES = mt19937ar.c corpus.cc gzstream.cc mpi-pyp-topics.cc contexts_lexer.cc contexts_corpus.cc mpi-train-contexts.cc -#mpi_pyp_contexts_train_LDADD = $(top_srcdir)/utils/libutils.a -lz - -AM_CPPFLAGS = -W -Wall -Wno-sign-compare -funroll-loops -I../../../utils - diff --git a/gi/pyp-topics/src/Makefile.mpi b/gi/pyp-topics/src/Makefile.mpi deleted file mode 100644 index b7b8a290..00000000 --- a/gi/pyp-topics/src/Makefile.mpi +++ /dev/null @@ -1,26 +0,0 @@ -BLD_ARCH=$(shell uname -s) --include macros.${BLD_ARCH} - -local_objs = mt19937ar.o corpus.o gzstream.o mpi-pyp-topics.o contexts_lexer.o contexts_corpus.o mpi-train-contexts.o - -all: mpi-pyp-contexts-train - --include makefile.depend - -#-----------------------# -# Local stuff -#-----------------------# - -mpi-pyp-contexts-train: mpi-train-contexts.o $(local_objs) - $(CXX) -o $@ $^ $(LDFLAGS) - -.PHONY: depend echo -depend: -#$(CXX) -MM $(CXXFLAGS) *.cc *.c | sed 's/^\(.*\.o:\)/obj\/\1/' > makefile.depend - $(CXX) -MM $(CXXFLAGS) *.cc *.c > makefile.depend - -clean: - rm -f *.o - -#clobber: clean -# rm makefile.depend ../bin/${ARCH}/* diff --git a/gi/pyp-topics/src/clock_gettime_stub.c b/gi/pyp-topics/src/clock_gettime_stub.c deleted file mode 100644 index 4883b7c1..00000000 --- a/gi/pyp-topics/src/clock_gettime_stub.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright (c), MM Weiss - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the MM Weiss nor the names of its contributors - * may be used to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT - * SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * clock_gettime_stub.c - * gcc -Wall -c clock_gettime_stub.c - * posix realtime functions; MacOS user space glue - */ - -/* @comment - * other possible implementation using intel builtin rdtsc - * rdtsc-workaround: http://www.mcs.anl.gov/~kazutomo/rdtsc.html - * - * we could get the ticks by doing this - * - * __asm __volatile("mov %%ebx, %%esi\n\t" - * "cpuid\n\t" - * "xchg %%esi, %%ebx\n\t" - * "rdtsc" - * : "=a" (a), - * "=d" (d) - * ); - - * we could even replace our tricky sched_yield call by assembly code to get a better accurency, - * anyway the following C stub will satisfy 99% of apps using posix clock_gettime call, - * moreover, the setter version (clock_settime) could be easly written using mach primitives: - * http://www.opensource.apple.com/source/xnu/xnu-${VERSION}/osfmk/man/ (clock_[set|get]_time) - * - * hackers don't be crackers, don't you use a flush toilet? - * - * - * @see draft: ./posix-realtime-stub/posix-realtime-stub.c - * - */ - - -#ifdef __APPLE__ - -#pragma weak clock_gettime - -#include <sys/time.h> -#include <sys/resource.h> -#include <mach/mach.h> -#include <mach/clock.h> -#include <mach/mach_time.h> -#include <errno.h> -#include <unistd.h> -#include <sched.h> - -typedef enum { - CLOCK_REALTIME, - CLOCK_MONOTONIC, - CLOCK_PROCESS_CPUTIME_ID, - CLOCK_THREAD_CPUTIME_ID -} clockid_t; - -static mach_timebase_info_data_t __clock_gettime_inf; - -static int clock_gettime(clockid_t clk_id, struct timespec *tp) { - kern_return_t ret; - clock_serv_t clk; - clock_id_t clk_serv_id; - mach_timespec_t tm; - - uint64_t start, end, delta, nano; - - //task_basic_info_data_t tinfo; - //task_thread_times_info_data_t ttinfo; - //mach_msg_type_number_t tflag; - - int retval = -1; - switch (clk_id) { - case CLOCK_REALTIME: - case CLOCK_MONOTONIC: - clk_serv_id = clk_id == CLOCK_REALTIME ? CALENDAR_CLOCK : SYSTEM_CLOCK; - if (KERN_SUCCESS == (ret = host_get_clock_service(mach_host_self(), clk_serv_id, &clk))) { - if (KERN_SUCCESS == (ret = clock_get_time(clk, &tm))) { - tp->tv_sec = tm.tv_sec; - tp->tv_nsec = tm.tv_nsec; - retval = 0; - } - } - if (KERN_SUCCESS != ret) { - errno = EINVAL; - retval = -1; - } - break; - case CLOCK_PROCESS_CPUTIME_ID: - case CLOCK_THREAD_CPUTIME_ID: - start = mach_absolute_time(); - if (clk_id == CLOCK_PROCESS_CPUTIME_ID) { - getpid(); - } else { - sched_yield(); - } - end = mach_absolute_time(); - delta = end - start; - if (0 == __clock_gettime_inf.denom) { - mach_timebase_info(&__clock_gettime_inf); - } - nano = delta * __clock_gettime_inf.numer / __clock_gettime_inf.denom; - tp->tv_sec = nano * 1e-9; - tp->tv_nsec = nano - (tp->tv_sec * 1e9); - retval = 0; - break; - default: - errno = EINVAL; - retval = -1; - } - return retval; -} - -#endif // __APPLE__ - -/* EOF */ diff --git a/gi/pyp-topics/src/contexts_corpus.cc b/gi/pyp-topics/src/contexts_corpus.cc deleted file mode 100644 index 92b1b34c..00000000 --- a/gi/pyp-topics/src/contexts_corpus.cc +++ /dev/null @@ -1,164 +0,0 @@ -#include <sstream> -#include <iostream> -#include <set> - -#include "contexts_corpus.hh" -#include "gzstream.hh" -#include "contexts_lexer.h" - -#include <boost/tuple/tuple.hpp> - - -using namespace std; - -////////////////////////////////////////////////// -// ContextsCorpus -////////////////////////////////////////////////// - -bool read_callback_binary_contexts = false; - -void read_callback(const ContextsLexer::PhraseContextsType& new_contexts, void* extra) { - assert(new_contexts.contexts.size() == new_contexts.counts.size()); - - boost::tuple<ContextsCorpus*, BackoffGenerator*, map<string,int>* >* extra_pair - = static_cast< boost::tuple<ContextsCorpus*, BackoffGenerator*, map<string,int>* >* >(extra); - - ContextsCorpus* corpus_ptr = extra_pair->get<0>(); - BackoffGenerator* backoff_gen = extra_pair->get<1>(); - //map<string,int>* counts = extra_pair->get<2>(); - - Document* doc(new Document()); - - //cout << "READ: " << new_contexts.phrase << "\t"; - for (int i=0; i < (int)new_contexts.counts.size(); ++i) { - int cache_word_count = corpus_ptr->m_dict.max(); - - //string context_str = corpus_ptr->m_dict.toString(new_contexts.contexts[i]); - int context_index = new_contexts.counts.at(i).first; - string context_str = corpus_ptr->m_dict.toString(new_contexts.contexts[context_index]); - - // filter out singleton contexts - //if (!counts->empty()) { - // map<string,int>::const_iterator find_it = counts->find(context_str); - // if (find_it == counts->end() || find_it->second < 2) - // continue; - //} - - WordID id = corpus_ptr->m_dict.Convert(context_str); - if (cache_word_count != corpus_ptr->m_dict.max()) { - corpus_ptr->m_backoff->terms_at_level(0)++; - corpus_ptr->m_num_types++; - } - - //int count = new_contexts.counts[i]; - int count = new_contexts.counts.at(i).second; - if (read_callback_binary_contexts) { - doc->push_back(id); - corpus_ptr->m_num_terms++; - } - else { - for (int j=0; j<count; ++j) - doc->push_back(id); - corpus_ptr->m_num_terms += count; - } - - // generate the backoff map - if (backoff_gen) { - int order = 1; - WordID backoff_id = id; - //ContextsLexer::Context backedoff_context = new_contexts.contexts[i]; - ContextsLexer::Context backedoff_context = new_contexts.contexts[context_index]; - while (true) { - if (!corpus_ptr->m_backoff->has_backoff(backoff_id)) { - //cerr << "Backing off from " << corpus_ptr->m_dict.Convert(backoff_id) << " to "; - backedoff_context = (*backoff_gen)(backedoff_context); - - if (backedoff_context.empty()) { - //cerr << "Nothing." << endl; - (*corpus_ptr->m_backoff)[backoff_id] = -1; - break; - } - - if (++order > corpus_ptr->m_backoff->order()) - corpus_ptr->m_backoff->order(order); - - int cache_word_count = corpus_ptr->m_dict.max(); - int new_backoff_id = corpus_ptr->m_dict.Convert(backedoff_context); - if (cache_word_count != corpus_ptr->m_dict.max()) - corpus_ptr->m_backoff->terms_at_level(order-1)++; - - //cerr << corpus_ptr->m_dict.Convert(new_backoff_id) << " ." << endl; - - backoff_id = ((*corpus_ptr->m_backoff)[backoff_id] = new_backoff_id); - } - else break; - } - } - //cout << context_str << " (" << id << ") ||| C=" << count << " ||| "; - } - //cout << endl; - - //if (!doc->empty()) { - corpus_ptr->m_documents.push_back(doc); - corpus_ptr->m_keys.push_back(new_contexts.phrase); - //} -} - -void filter_callback(const ContextsLexer::PhraseContextsType& new_contexts, void* extra) { - assert(new_contexts.contexts.size() == new_contexts.counts.size()); - - map<string,int>* context_counts = (static_cast<map<string,int>*>(extra)); - - for (int i=0; i < (int)new_contexts.counts.size(); ++i) { - int context_index = new_contexts.counts.at(i).first; - int count = new_contexts.counts.at(i).second; - //if (read_callback_binary_contexts) count = 1; - //int count = new_contexts.counts[i]; - pair<map<string,int>::iterator,bool> result - = context_counts->insert(make_pair(Dict::toString(new_contexts.contexts[context_index]),count)); - //= context_counts->insert(make_pair(Dict::toString(new_contexts.contexts[i]),count)); - if (!result.second) - result.first->second += count; - } -} - - -unsigned ContextsCorpus::read_contexts(const string &filename, - BackoffGenerator* backoff_gen_ptr, - bool /*filter_singeltons*/, - bool binary_contexts) { - read_callback_binary_contexts = binary_contexts; - - map<string,int> counts; - //if (filter_singeltons) - { - // cerr << "--- Filtering singleton contexts ---" << endl; - - igzstream in(filename.c_str()); - ContextsLexer::ReadContexts(&in, filter_callback, &counts); - } - - m_num_terms = 0; - m_num_types = 0; - - igzstream in(filename.c_str()); - boost::tuple<ContextsCorpus*, BackoffGenerator*, map<string,int>* > extra_pair(this,backoff_gen_ptr,&counts); - ContextsLexer::ReadContexts(&in, read_callback, &extra_pair); - - //m_num_types = m_dict.max(); - - cerr << "Read backoff with order " << m_backoff->order() << "\n"; - for (int o=0; o<m_backoff->order(); o++) - cerr << " Terms at " << o << " = " << m_backoff->terms_at_level(o) << endl; - //cerr << endl; - - int i=0; double av_freq=0; - for (map<string,int>::const_iterator it=counts.begin(); it != counts.end(); ++it, ++i) { - WordID id = m_dict.Convert(it->first); - m_context_counts[id] = it->second; - av_freq += it->second; - } - cerr << " Average term frequency = " << av_freq / (double) i << endl; - - return m_documents.size(); -} diff --git a/gi/pyp-topics/src/contexts_corpus.hh b/gi/pyp-topics/src/contexts_corpus.hh deleted file mode 100644 index 2527f655..00000000 --- a/gi/pyp-topics/src/contexts_corpus.hh +++ /dev/null @@ -1,90 +0,0 @@ -#ifndef _CONTEXTS_CORPUS_HH -#define _CONTEXTS_CORPUS_HH - -#include <vector> -#include <string> -#include <map> -#include <tr1/unordered_map> - -#include <boost/ptr_container/ptr_vector.hpp> - -#include "corpus.hh" -#include "contexts_lexer.h" -#include "dict.h" - - -class BackoffGenerator { -public: - virtual ContextsLexer::Context - operator()(const ContextsLexer::Context& c) = 0; - -protected: - ContextsLexer::Context strip_edges(const ContextsLexer::Context& c) { - if (c.size() <= 1) return ContextsLexer::Context(); - assert(c.size() % 2 == 1); - return ContextsLexer::Context(c.begin() + 1, c.end() - 1); - } -}; - -class NullBackoffGenerator : public BackoffGenerator { - virtual ContextsLexer::Context - operator()(const ContextsLexer::Context&) - { return ContextsLexer::Context(); } -}; - -class SimpleBackoffGenerator : public BackoffGenerator { - virtual ContextsLexer::Context - operator()(const ContextsLexer::Context& c) { - if (c.size() <= 3) - return ContextsLexer::Context(); - return strip_edges(c); - } -}; - - -//////////////////////////////////////////////////////////////// -// ContextsCorpus -//////////////////////////////////////////////////////////////// - -class ContextsCorpus : public Corpus { - friend void read_callback(const ContextsLexer::PhraseContextsType&, void*); - -public: - ContextsCorpus() : m_backoff(new TermBackoff) {} - virtual ~ContextsCorpus() {} - - virtual unsigned read_contexts(const std::string &filename, - BackoffGenerator* backoff_gen=0, - bool filter_singeltons=false, - bool binary_contexts=false); - - TermBackoffPtr backoff_index() { - return m_backoff; - } - - std::vector<std::string> context2string(const WordID& id) const { - std::vector<std::string> res; - assert (id >= 0); - m_dict.AsVector(id, &res); - return res; - } - - virtual int context_count(const WordID& id) const { - return m_context_counts.find(id)->second; - } - - - const std::string& key(const int& i) const { - return m_keys.at(i); - } - - const Dict& dict() const { return m_dict; } - -protected: - TermBackoffPtr m_backoff; - Dict m_dict; - std::vector<std::string> m_keys; - std::tr1::unordered_map<int,int> m_context_counts; -}; - -#endif // _CONTEXTS_CORPUS_HH diff --git a/gi/pyp-topics/src/contexts_lexer.h b/gi/pyp-topics/src/contexts_lexer.h deleted file mode 100644 index 66004990..00000000 --- a/gi/pyp-topics/src/contexts_lexer.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef _CONTEXTS_LEXER_H_ -#define _CONTEXTS_LEXER_H_ - -#include <iostream> -#include <vector> -#include <string> - -#include "dict.h" - -struct ContextsLexer { - typedef std::vector<std::string> Context; - struct PhraseContextsType { - std::string phrase; - std::vector<Context> contexts; - std::vector< std::pair<int,int> > counts; - }; - - typedef void (*ContextsCallback)(const PhraseContextsType& new_contexts, void* extra); - static void ReadContexts(std::istream* in, ContextsCallback func, void* extra); -}; - -#endif diff --git a/gi/pyp-topics/src/contexts_lexer.l b/gi/pyp-topics/src/contexts_lexer.l deleted file mode 100644 index 64cd7ca3..00000000 --- a/gi/pyp-topics/src/contexts_lexer.l +++ /dev/null @@ -1,113 +0,0 @@ -%{ -#include "contexts_lexer.h" - -#include <string> -#include <iostream> -#include <sstream> -#include <cstring> -#include <cassert> -#include <algorithm> - -int lex_line = 0; -std::istream* contextslex_stream = NULL; -ContextsLexer::ContextsCallback contexts_callback = NULL; -void* contexts_callback_extra = NULL; - -#undef YY_INPUT -#define YY_INPUT(buf, result, max_size) (result = contextslex_stream->read(buf, max_size).gcount()) - -#define YY_SKIP_YYWRAP 1 -int num_phrases = 0; -int yywrap() { return 1; } - -#define MAX_TOKEN_SIZE 255 -std::string contextslex_tmp_token(MAX_TOKEN_SIZE, '\0'); -ContextsLexer::PhraseContextsType current_contexts; - -#define MAX_CONTEXT_SIZE 255 -//std::string tmp_context[MAX_CONTEXT_SIZE]; -ContextsLexer::Context tmp_context; - - -void contextslex_reset() { - current_contexts.phrase.clear(); - current_contexts.contexts.clear(); - current_contexts.counts.clear(); - tmp_context.clear(); -} - -%} - -INT [\-+]?[0-9]+|inf|[\-+]inf - -%x CONTEXT COUNT COUNT_END -%% - -<INITIAL>[^\t]+ { - contextslex_reset(); - current_contexts.phrase.assign(yytext, yyleng); - BEGIN(CONTEXT); - } -<INITIAL>\t { - ; - } - -<INITIAL,CONTEXT,COUNT>\n { - std::cerr << "ERROR: contexts_lexer.l: unexpected newline while trying to read phrase|context|count." << std::endl; - abort(); - } - -<CONTEXT>\|\|\| { - current_contexts.contexts.push_back(tmp_context); - tmp_context.clear(); - BEGIN(COUNT); - } -<CONTEXT>[^ \t]+ { - contextslex_tmp_token.assign(yytext, yyleng); - tmp_context.push_back(contextslex_tmp_token); - } -<CONTEXT>[ \t]+ { ; } - -<COUNT>[ \t]+ { ; } -<COUNT>C={INT} { - current_contexts.counts.push_back(std::make_pair(current_contexts.counts.size(), atoi(yytext+2))); - BEGIN(COUNT_END); - } -<COUNT>. { - std::cerr << "ERROR: contexts_lexer.l: unexpected content while reading count." << std::endl; - abort(); - } - -<COUNT_END>[ \t]+ { ; } -<COUNT_END>\|\|\| { - BEGIN(CONTEXT); - } -<COUNT_END>\n { - //std::cerr << "READ:" << current_contexts.phrase << " with " << current_contexts.contexts.size() - // << " contexts, and " << current_contexts.counts.size() << " counts." << std::endl; - std::sort(current_contexts.counts.rbegin(), current_contexts.counts.rend()); - - contexts_callback(current_contexts, contexts_callback_extra); - current_contexts.phrase.clear(); - current_contexts.contexts.clear(); - current_contexts.counts.clear(); - BEGIN(INITIAL); - } -<COUNT_END>. { - contextslex_tmp_token.assign(yytext, yyleng); - std::cerr << "ERROR: contexts_lexer.l: unexpected content while looking for ||| closing count." << std::endl; - abort(); - } - -%% - -#include "filelib.h" - -void ContextsLexer::ReadContexts(std::istream* in, ContextsLexer::ContextsCallback func, void* extra) { - lex_line = 1; - contextslex_stream = in; - contexts_callback_extra = extra, - contexts_callback = func; - yylex(); -} - diff --git a/gi/pyp-topics/src/corpus.cc b/gi/pyp-topics/src/corpus.cc deleted file mode 100644 index f182381f..00000000 --- a/gi/pyp-topics/src/corpus.cc +++ /dev/null @@ -1,104 +0,0 @@ -#include <sstream> -#include <iostream> -#include <set> - -#include "corpus.hh" -#include "gzstream.hh" - -using namespace std; - -////////////////////////////////////////////////// -// Corpus -////////////////////////////////////////////////// - -Corpus::Corpus() : m_num_terms(0), m_num_types(0) {} - -unsigned Corpus::read(const std::string &filename) { - m_num_terms = 0; - m_num_types = 0; - std::set<int> seen_types; - - igzstream in(filename.c_str()); - - string buf; - int token; - unsigned doc_count=0; - while (getline(in, buf)) { - Document* doc(new Document()); - istringstream ss(buf); - - ss >> token; // the number of unique terms - - char delimeter; - int count; - while(ss >> token >> delimeter >> count) { - for (int i=0; i<count; ++i) - doc->push_back(token); - m_num_terms += count; - seen_types.insert(token); - } - - m_documents.push_back(doc); - doc_count++; - } - - m_num_types = seen_types.size(); - - return doc_count; -} - - -////////////////////////////////////////////////// -// TestCorpus -////////////////////////////////////////////////// - -TestCorpus::TestCorpus() {} - -void TestCorpus::read(const std::string &filename) { - igzstream in(filename.c_str()); - - string buf; - Term term; - DocumentId doc; - char delimeter; - while (getline(in, buf)) { - DocumentTerms* line(new DocumentTerms()); - istringstream ss(buf); - - while(ss >> doc >> delimeter >> term) - line->push_back(DocumentTerm(doc, term)); - - m_lines.push_back(line); - } -} - -////////////////////////////////////////////////// -// TermBackoff -////////////////////////////////////////////////// - -void TermBackoff::read(const std::string &filename) { - igzstream in(filename.c_str()); - - string buf; - int num_terms; - getline(in, buf); - istringstream ss(buf); - ss >> num_terms >> m_backoff_order; - - m_dict.resize(num_terms, -1); - for (int i=0; i<m_backoff_order; ++i) { - int count; ss >> count; - m_terms_at_order.push_back(count); - } - - Term term, backoff; - while (getline(in, buf)) { - istringstream ss(buf); - ss >> term >> backoff; - - assert(term < num_terms); - assert(term >= 0); - - m_dict[term] = backoff; - } -} diff --git a/gi/pyp-topics/src/corpus.hh b/gi/pyp-topics/src/corpus.hh deleted file mode 100644 index 2aa03527..00000000 --- a/gi/pyp-topics/src/corpus.hh +++ /dev/null @@ -1,133 +0,0 @@ -#ifndef _CORPUS_HH -#define _CORPUS_HH - -#include <vector> -#include <string> -#include <map> -#include <limits> - -#include <boost/shared_ptr.hpp> -#include <boost/ptr_container/ptr_vector.hpp> - -//////////////////////////////////////////////////////////////// -// Corpus -//////////////////////////////////////////////////////////////// -typedef int Term; - -typedef std::vector<Term> Document; -typedef std::vector<Term> Terms; - -class Corpus { -public: - typedef boost::ptr_vector<Document>::const_iterator const_iterator; - -public: - Corpus(); - virtual ~Corpus() {} - - virtual unsigned read(const std::string &filename); - - const_iterator begin() const { return m_documents.begin(); } - const_iterator end() const { return m_documents.end(); } - - const Document& at(size_t i) const { return m_documents.at(i); } - - int num_documents() const { return m_documents.size(); } - int num_terms() const { return m_num_terms; } - int num_types() const { return m_num_types; } - - virtual int context_count(const int&) const { - return std::numeric_limits<int>::max(); - } - -protected: - int m_num_terms, m_num_types; - boost::ptr_vector<Document> m_documents; -}; - -typedef int DocumentId; -struct DocumentTerm { - DocumentTerm(DocumentId d, Term t) : term(t), doc(d) {} - Term term; - DocumentId doc; -}; -typedef std::vector<DocumentTerm> DocumentTerms; - -class TestCorpus { -public: - typedef boost::ptr_vector<DocumentTerms>::const_iterator const_iterator; - -public: - TestCorpus(); - ~TestCorpus() {} - - void read(const std::string &filename); - - const_iterator begin() const { return m_lines.begin(); } - const_iterator end() const { return m_lines.end(); } - - int num_instances() const { return m_lines.size(); } - -protected: - boost::ptr_vector<DocumentTerms> m_lines; -}; - -class TermBackoff { -public: - typedef std::vector<Term> dictionary_type; - typedef dictionary_type::const_iterator const_iterator; - const static int NullBackoff=-1; - -public: - TermBackoff() { order(1); } - ~TermBackoff() {} - - void read(const std::string &filename); - - const_iterator begin() const { return m_dict.begin(); } - const_iterator end() const { return m_dict.end(); } - - const Term& operator[](const Term& t) const { - assert(t < static_cast<int>(m_dict.size())); - return m_dict[t]; - } - - Term& operator[](const Term& t) { - if (t >= static_cast<int>(m_dict.size())) - m_dict.resize(t+1, -1); - return m_dict[t]; - } - - bool has_backoff(const Term& t) { - return t >= 0 && t < static_cast<int>(m_dict.size()) && m_dict[t] >= 0; - } - - int order() const { return m_backoff_order; } - void order(int o) { - if (o >= (int)m_terms_at_order.size()) - m_terms_at_order.resize(o, 0); - m_backoff_order = o; - } - -// int levels() const { return m_terms_at_order.size(); } - bool is_null(const Term& term) const { return term < 0; } - int terms_at_level(int level) const { - assert (level < (int)m_terms_at_order.size()); - return m_terms_at_order.at(level); - } - - int& terms_at_level(int level) { - assert (level < (int)m_terms_at_order.size()); - return m_terms_at_order.at(level); - } - - int size() const { return m_dict.size(); } - -protected: - dictionary_type m_dict; - int m_backoff_order; - std::vector<int> m_terms_at_order; -}; -typedef boost::shared_ptr<TermBackoff> TermBackoffPtr; - -#endif // _CORPUS_HH diff --git a/gi/pyp-topics/src/gammadist.c b/gi/pyp-topics/src/gammadist.c deleted file mode 100644 index 4e260db8..00000000 --- a/gi/pyp-topics/src/gammadist.c +++ /dev/null @@ -1,247 +0,0 @@ -/* gammadist.c -- computes probability of samples under / produces samples from a Gamma distribution - * - * Mark Johnson, 22nd March 2008 - * - * WARNING: you need to set the flag -std=c99 to compile - * - * gammavariate() was translated from random.py in Python library - * - * The Gamma distribution is: - * - * Gamma(x | alpha, beta) = pow(x/beta, alpha-1) * exp(-x/beta) / (gamma(alpha)*beta) - * - * shape parameter alpha > 0 (also called c), scale parameter beta > 0 (also called s); - * mean is alpha*beta, variance is alpha*beta**2 - * - * Note that many parameterizations of the Gamma function are in terms of an _inverse_ - * scale parameter beta, which is the inverse of the beta given here. - * - * To define a main() that tests the routines, uncomment the following #define: - */ -/* #define GAMMATEST */ - -#include <assert.h> -#include <math.h> - -#include "gammadist.h" -#include "mt19937ar.h" - -/* gammadist() returns the probability density of x under a Gamma(alpha,beta) - * distribution - */ - -long double gammadist(long double x, long double alpha, long double beta) { - assert(alpha > 0); - assert(beta > 0); - return pow(x/beta, alpha-1) * exp(-x/beta) / (tgamma(alpha)*beta); -} - -/* lgammadist() returns the log probability density of x under a Gamma(alpha,beta) - * distribution - */ - -long double lgammadist(long double x, long double alpha, long double beta) { - assert(alpha > 0); - assert(beta > 0); - return (alpha-1)*log(x) - alpha*log(beta) - x/beta - lgamma(alpha); -} - -/* This definition of gammavariate is from Python code in - * the Python random module. - */ - -long double gammavariate(long double alpha, long double beta) { - - assert(alpha > 0); - assert(beta > 0); - - if (alpha > 1.0) { - - /* Uses R.C.H. Cheng, "The generation of Gamma variables with - non-integral shape parameters", Applied Statistics, (1977), 26, - No. 1, p71-74 */ - - long double ainv = sqrt(2.0 * alpha - 1.0); - long double bbb = alpha - log(4.0); - long double ccc = alpha + ainv; - - while (1) { - long double u1 = mt_genrand_real3(); - if (u1 > 1e-7 || u1 < 0.9999999) { - long double u2 = 1.0 - mt_genrand_real3(); - long double v = log(u1/(1.0-u1))/ainv; - long double x = alpha*exp(v); - long double z = u1*u1*u2; - long double r = bbb+ccc*v-x; - if (r + (1.0+log(4.5)) - 4.5*z >= 0.0 || r >= log(z)) - return x * beta; - } - } - } - else if (alpha == 1.0) { - long double u = mt_genrand_real3(); - while (u <= 1e-7) - u = mt_genrand_real3(); - return -log(u) * beta; - } - else { - /* alpha is between 0 and 1 (exclusive) - Uses ALGORITHM GS of Statistical Computing - Kennedy & Gentle */ - - while (1) { - long double u = mt_genrand_real3(); - long double b = (exp(1) + alpha)/exp(1); - long double p = b*u; - long double x = (p <= 1.0) ? pow(p, 1.0/alpha) : -log((b-p)/alpha); - long double u1 = mt_genrand_real3(); - if (! (((p <= 1.0) && (u1 > exp(-x))) || - ((p > 1.0) && (u1 > pow(x, alpha - 1.0))))) - return x * beta; - } - } -} - -/* betadist() returns the probability density of x under a Beta(alpha,beta) - * distribution. - */ - -long double betadist(long double x, long double alpha, long double beta) { - assert(x >= 0); - assert(x <= 1); - assert(alpha > 0); - assert(beta > 0); - return pow(x,alpha-1)*pow(1-x,beta-1)*tgamma(alpha+beta)/(tgamma(alpha)*tgamma(beta)); -} - -/* lbetadist() returns the log probability density of x under a Beta(alpha,beta) - * distribution. - */ - -long double lbetadist(long double x, long double alpha, long double beta) { - assert(x > 0); - assert(x < 1); - assert(alpha > 0); - assert(beta > 0); - return (alpha-1)*log(x)+(beta-1)*log(1-x)+lgamma(alpha+beta)-lgamma(alpha)-lgamma(beta); -} - -/* betavariate() generates a sample from a Beta distribution with - * parameters alpha and beta. - * - * 0 < alpha < 1, 0 < beta < 1, mean is alpha/(alpha+beta) - */ - -long double betavariate(long double alpha, long double beta) { - long double x = gammavariate(alpha, 1); - long double y = gammavariate(beta, 1); - return x/(x+y); -} - -#ifdef GAMMATEST -#include <stdio.h> - -int main(int argc, char **argv) { - int iteration, niterations = 1000; - - for (iteration = 0; iteration < niterations; ++iteration) { - long double alpha = 100*mt_genrand_real3(); - long double gv = gammavariate(alpha, 1); - long double pgv = gammadist(gv, alpha, 1); - long double pgvl = exp(lgammadist(gv, alpha, 1)); - fprintf(stderr, "iteration = %d, gammavariate(%lg,1) = %lg, gammadist(%lg,%lg,1) = %lg, exp(lgammadist(%lg,%lg,1) = %lg\n", - iteration, alpha, gv, gv, alpha, pgv, gv, alpha, pgvl); - } - return 0; -} - -#endif /* GAMMATEST */ - - -/* Other routines I tried, but which weren't as good as the ones above */ - -#if 0 - -/*! gammavariate() returns samples from a Gamma distribution - *! where alpha is the shape parameter and beta is the scale - *! parameter, using the algorithm described on p. 94 of - *! Gentle (1998) Random Number Generation and Monte Carlo Methods, - *! Springer. - */ - -long double gammavariate(long double alpha) { - - assert(alpha > 0); - - if (alpha > 1.0) { - while (1) { - long double u1 = mt_genrand_real3(); - long double u2 = mt_genrand_real3(); - long double v = (alpha - 1/(6*alpha))*u1/(alpha-1)*u2; - if (2*(u2-1)/(alpha-1) + v + 1/v <= 2 - || 2*log(u2)/(alpha-1) - log(v) + v <= 1) - return (alpha-1)*v; - } - } else if (alpha < 1.0) { - while (1) { - long double t = 0.07 + 0.75*sqrt(1-alpha); - long double b = alpha + exp(-t)*alpha/t; - long double u1 = mt_genrand_real3(); - long double u2 = mt_genrand_real3(); - long double v = b*u1; - if (v <= 1) { - long double x = t*pow(v, 1/alpha); - if (u2 <= (2 - x)/(2 + x)) - return x; - if (u2 <= exp(-x)) - return x; - } - else { - long double x = log(t*(b-v)/alpha); - long double y = x/t; - if (u2*(alpha + y*(1-alpha)) <= 1) - return x; - if (u2 <= pow(y,alpha-1)) - return x; - } - } - } - else - return -log(mt_genrand_real3()); -} - - -/*! gammavariate() returns a deviate distributed as a gamma - *! distribution of order alpha, beta, i.e., a waiting time to the alpha'th - *! event in a Poisson process of unit mean. - *! - *! Code from Numerical Recipes - */ - -long double nr_gammavariate(long double ia) { - int j; - long double am,e,s,v1,v2,x,y; - assert(ia > 0); - if (ia < 10) { - x=1.0; - for (j=1;j<=ia;j++) - x *= mt_genrand_real3(); - x = -log(x); - } else { - do { - do { - do { - v1=mt_genrand_real3(); - v2=2.0*mt_genrand_real3()-1.0; - } while (v1*v1+v2*v2 > 1.0); - y=v2/v1; - am=ia-1; - s=sqrt(2.0*am+1.0); - x=s*y+am; - } while (x <= 0.0); - e=(1.0+y*y)*exp(am*log(x/am)-s*y); - } while (mt_genrand_real3() > e); - } - return x; -} - -#endif diff --git a/gi/pyp-topics/src/gammadist.h b/gi/pyp-topics/src/gammadist.h deleted file mode 100644 index b6ad6c40..00000000 --- a/gi/pyp-topics/src/gammadist.h +++ /dev/null @@ -1,72 +0,0 @@ -/* gammadist.h -- computes probability of samples under / produces samples from a Gamma distribution - * - * Mark Johnson, 22nd March 2008 - * - * gammavariate() was translated from random.py in Python library - * - * The Gamma distribution is: - * - * Gamma(x | alpha, beta) = pow(x/beta, alpha-1) * exp(-x/beta) / (gamma(alpha)*beta) - * - * shape parameter alpha > 0 (also called c), scale parameter beta > 0 (also called s); - * mean is alpha*beta, variance is alpha*beta**2 - * - * Note that many parameterizations of the Gamma function are in terms of an _inverse_ - * scale parameter beta, which is the inverse of the beta given here. - */ - -#ifndef GAMMADIST_H -#define GAMMADIST_H - -#ifdef __cplusplus -extern "C" { -#endif - - /* gammadist() returns the probability density of x under a Gamma(alpha,beta) - * distribution - */ - - long double gammadist(long double x, long double alpha, long double beta); - - /* lgammadist() returns the log probability density of x under a Gamma(alpha,beta) - * distribution - */ - - long double lgammadist(long double x, long double alpha, long double beta); - - /* gammavariate() generates samples from a Gamma distribution - * conditioned on the parameters alpha and beta. - * - * alpha > 0, beta > 0, mean is alpha*beta, variance is alpha*beta**2 - * - * Warning: a few older sources define the gamma distribution in terms - * of alpha > -1.0 - */ - - long double gammavariate(long double alpha, long double beta); - - /* betadist() returns the probability density of x under a Beta(alpha,beta) - * distribution. - */ - - long double betadist(long double x, long double alpha, long double beta); - - /* lbetadist() returns the log probability density of x under a Beta(alpha,beta) - * distribution. - */ - - long double lbetadist(long double x, long double alpha, long double beta); - - /* betavariate() generates a sample from a Beta distribution with - * parameters alpha and beta. - * - * 0 < alpha < 1, 0 < beta < 1, mean is alpha/(alpha+beta) - */ - - long double betavariate(long double alpha, long double beta); - -#ifdef __cplusplus -}; -#endif - -#endif /* GAMMADIST_H */ diff --git a/gi/pyp-topics/src/gzstream.cc b/gi/pyp-topics/src/gzstream.cc deleted file mode 100644 index 7c4d3a12..00000000 --- a/gi/pyp-topics/src/gzstream.cc +++ /dev/null @@ -1,165 +0,0 @@ -// ============================================================================ -// gzstream, C++ iostream classes wrapping the zlib compression library. -// Copyright (C) 2001 Deepak Bandyopadhyay, Lutz Kettner -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// ============================================================================ -// -// File : gzstream.C -// Revision : $Revision: 1.1 $ -// Revision_date : $Date: 2006/03/30 04:05:52 $ -// Author(s) : Deepak Bandyopadhyay, Lutz Kettner -// -// Standard streambuf implementation following Nicolai Josuttis, "The -// Standard C++ Library". -// ============================================================================ - -#include "gzstream.hh" -#include <iostream> -#include <string.h> // for memcpy - -#ifdef GZSTREAM_NAMESPACE -namespace GZSTREAM_NAMESPACE { -#endif - -// ---------------------------------------------------------------------------- -// Internal classes to implement gzstream. See header file for user classes. -// ---------------------------------------------------------------------------- - -// -------------------------------------- -// class gzstreambuf: -// -------------------------------------- - -gzstreambuf* gzstreambuf::open( const char* name, int open_mode) { - if ( is_open()) - return (gzstreambuf*)0; - mode = open_mode; - // no append nor read/write mode - if ((mode & std::ios::ate) || (mode & std::ios::app) - || ((mode & std::ios::in) && (mode & std::ios::out))) - return (gzstreambuf*)0; - char fmode[10]; - char* fmodeptr = fmode; - if ( mode & std::ios::in) - *fmodeptr++ = 'r'; - else if ( mode & std::ios::out) - *fmodeptr++ = 'w'; - *fmodeptr++ = 'b'; - *fmodeptr = '\0'; - file = gzopen( name, fmode); - if (file == 0) - return (gzstreambuf*)0; - opened = 1; - return this; -} - -gzstreambuf * gzstreambuf::close() { - if ( is_open()) { - sync(); - opened = 0; - if ( gzclose( file) == Z_OK) - return this; - } - return (gzstreambuf*)0; -} - -int gzstreambuf::underflow() { // used for input buffer only - if ( gptr() && ( gptr() < egptr())) - return * reinterpret_cast<unsigned char *>( gptr()); - - if ( ! (mode & std::ios::in) || ! opened) - return EOF; - // Josuttis' implementation of inbuf - int n_putback = gptr() - eback(); - if ( n_putback > 4) - n_putback = 4; - memcpy( buffer + (4 - n_putback), gptr() - n_putback, n_putback); - - int num = gzread( file, buffer+4, bufferSize-4); - if (num <= 0) // ERROR or EOF - return EOF; - - // reset buffer pointers - setg( buffer + (4 - n_putback), // beginning of putback area - buffer + 4, // read position - buffer + 4 + num); // end of buffer - - // return next character - return * reinterpret_cast<unsigned char *>( gptr()); -} - -int gzstreambuf::flush_buffer() { - // Separate the writing of the buffer from overflow() and - // sync() operation. - int w = pptr() - pbase(); - if ( gzwrite( file, pbase(), w) != w) - return EOF; - pbump( -w); - return w; -} - -int gzstreambuf::overflow( int c) { // used for output buffer only - if ( ! ( mode & std::ios::out) || ! opened) - return EOF; - if (c != EOF) { - *pptr() = c; - pbump(1); - } - if ( flush_buffer() == EOF) - return EOF; - return c; -} - -int gzstreambuf::sync() { - // Changed to use flush_buffer() instead of overflow( EOF) - // which caused improper behavior with std::endl and flush(), - // bug reported by Vincent Ricard. - if ( pptr() && pptr() > pbase()) { - if ( flush_buffer() == EOF) - return -1; - } - return 0; -} - -// -------------------------------------- -// class gzstreambase: -// -------------------------------------- - -gzstreambase::gzstreambase( const char* name, int mode) { - init( &buf); - open( name, mode); -} - -gzstreambase::~gzstreambase() { - buf.close(); -} - -void gzstreambase::open( const char* name, int open_mode) { - if ( ! buf.open( name, open_mode)) - clear( rdstate() | std::ios::badbit); -} - -void gzstreambase::close() { - if ( buf.is_open()) - if ( ! buf.close()) - clear( rdstate() | std::ios::badbit); -} - -#ifdef GZSTREAM_NAMESPACE -} // namespace GZSTREAM_NAMESPACE -#endif - -// ============================================================================ -// EOF // diff --git a/gi/pyp-topics/src/gzstream.hh b/gi/pyp-topics/src/gzstream.hh deleted file mode 100644 index ad9785fd..00000000 --- a/gi/pyp-topics/src/gzstream.hh +++ /dev/null @@ -1,121 +0,0 @@ -// ============================================================================ -// gzstream, C++ iostream classes wrapping the zlib compression library. -// Copyright (C) 2001 Deepak Bandyopadhyay, Lutz Kettner -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// ============================================================================ -// -// File : gzstream.h -// Revision : $Revision: 1.1 $ -// Revision_date : $Date: 2006/03/30 04:05:52 $ -// Author(s) : Deepak Bandyopadhyay, Lutz Kettner -// -// Standard streambuf implementation following Nicolai Josuttis, "The -// Standard C++ Library". -// ============================================================================ - -#ifndef GZSTREAM_H -#define GZSTREAM_H 1 - -// standard C++ with new header file names and std:: namespace -#include <iostream> -#include <fstream> -#include <zlib.h> - -#ifdef GZSTREAM_NAMESPACE -namespace GZSTREAM_NAMESPACE { -#endif - -// ---------------------------------------------------------------------------- -// Internal classes to implement gzstream. See below for user classes. -// ---------------------------------------------------------------------------- - -class gzstreambuf : public std::streambuf { -private: - static const int bufferSize = 47+256; // size of data buff - // totals 512 bytes under g++ for igzstream at the end. - - gzFile file; // file handle for compressed file - char buffer[bufferSize]; // data buffer - char opened; // open/close state of stream - int mode; // I/O mode - - int flush_buffer(); -public: - gzstreambuf() : opened(0) { - setp( buffer, buffer + (bufferSize-1)); - setg( buffer + 4, // beginning of putback area - buffer + 4, // read position - buffer + 4); // end position - // ASSERT: both input & output capabilities will not be used together - } - int is_open() { return opened; } - gzstreambuf* open( const char* name, int open_mode); - gzstreambuf* close(); - ~gzstreambuf() { close(); } - - virtual int overflow( int c = EOF); - virtual int underflow(); - virtual int sync(); -}; - -class gzstreambase : virtual public std::ios { -protected: - gzstreambuf buf; -public: - gzstreambase() { init(&buf); } - gzstreambase( const char* name, int open_mode); - ~gzstreambase(); - void open( const char* name, int open_mode); - void close(); - gzstreambuf* rdbuf() { return &buf; } -}; - -// ---------------------------------------------------------------------------- -// User classes. Use igzstream and ogzstream analogously to ifstream and -// ofstream respectively. They read and write files based on the gz* -// function interface of the zlib. Files are compatible with gzip compression. -// ---------------------------------------------------------------------------- - -class igzstream : public gzstreambase, public std::istream { -public: - igzstream() : std::istream( &buf) {} - igzstream( const char* name, int open_mode = std::ios::in) - : gzstreambase( name, open_mode), std::istream( &buf) {} - gzstreambuf* rdbuf() { return gzstreambase::rdbuf(); } - void open( const char* name, int open_mode = std::ios::in) { - gzstreambase::open( name, open_mode); - } -}; - -class ogzstream : public gzstreambase, public std::ostream { -public: - ogzstream() : std::ostream( &buf) {} - ogzstream( const char* name, int mode = std::ios::out) - : gzstreambase( name, mode), std::ostream( &buf) {} - gzstreambuf* rdbuf() { return gzstreambase::rdbuf(); } - void open( const char* name, int open_mode = std::ios::out) { - gzstreambase::open( name, open_mode); - } -}; - -#ifdef GZSTREAM_NAMESPACE -} // namespace GZSTREAM_NAMESPACE -#endif - -#endif // GZSTREAM_H -// ============================================================================ -// EOF // - diff --git a/gi/pyp-topics/src/log_add.h b/gi/pyp-topics/src/log_add.h deleted file mode 100644 index e0620c5a..00000000 --- a/gi/pyp-topics/src/log_add.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef log_add_hh -#define log_add_hh - -#include <limits> -#include <iostream> -#include <cassert> -#include <cmath> - -template <typename T> -struct Log -{ - static T zero() { return -std::numeric_limits<T>::infinity(); } - - static T add(T l1, T l2) - { - if (l1 == zero()) return l2; - if (l1 > l2) - return l1 + std::log(1 + exp(l2 - l1)); - else - return l2 + std::log(1 + exp(l1 - l2)); - } - - static T subtract(T l1, T l2) - { - //std::assert(l1 >= l2); - return l1 + log(1 - exp(l2 - l1)); - } -}; - -#endif diff --git a/gi/pyp-topics/src/macros.Linux b/gi/pyp-topics/src/macros.Linux deleted file mode 100644 index 7c6e7fa7..00000000 --- a/gi/pyp-topics/src/macros.Linux +++ /dev/null @@ -1,18 +0,0 @@ -CC = /home/pblunsom/software/bin/mpicc -CXX = /home/pblunsom/software/bin/mpicxx -LD = /home/pblunsom/software/bin/mpicxx -FC = /home/pblunsom/software/bin/mpif77 - -SOFTWARE_DIR=/export/ws10smt/software - -CXXFLAGS = -Wall -I${SOFTWARE_DIR}/include -CFLAGS = -Wall -I${SOFTWARE_DIR}/include -FFLAGS = -Wall -LDFLAGS = -lm -lz -L${SOFTWARE_DIR}/lib \ - -lboost_program_options -lboost_mpi -lboost_serialization \ - -lboost_regex -L../../../decoder -lcdec - -FFLAGS += -g -O6 -march=native -CFLAGS += -g -O6 -march=native -CXXFLAGS += -g -O6 -march=native -LDFLAGS += -g -O6 -march=native diff --git a/gi/pyp-topics/src/makefile.darwin b/gi/pyp-topics/src/makefile.darwin deleted file mode 100644 index af608fd8..00000000 --- a/gi/pyp-topics/src/makefile.darwin +++ /dev/null @@ -1,15 +0,0 @@ -CC = /usr/bin/gcc -CXX = /usr/bin/g++ -LD = /usr/bin/g++ -FC=/usr/bin/g77 - -ARCH=i686-m64 -CXXFLAGS = -m64 -Wall -I/Users/pblunsom/packages/include -CFLAGS = -m64 -Wall -I/Users/pblunsom/packages/include -FFLAGS = -m64 -Wall -LDFLAGS = -L/Users/pblunsom/packages/lib -lboost_program_options -lm -lz - -FFLAGS += -g -O3 -funroll-loops #-pg -CFLAGS += -g -O3 -funroll-loops #-pg -CXXFLAGS += -g -O3 -funroll-loops #-pg -LDFLAGS += -g -O3 -funroll-loops #-pg diff --git a/gi/pyp-topics/src/makefile.depend b/gi/pyp-topics/src/makefile.depend deleted file mode 100644 index 9b8e306c..00000000 --- a/gi/pyp-topics/src/makefile.depend +++ /dev/null @@ -1,4042 +0,0 @@ -contexts_corpus.o: contexts_corpus.cc contexts_corpus.hh \ - /home/pblunsom/packages/include/boost/ptr_container/ptr_vector.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/ptr_sequence_adapter.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/reversible_ptr_container.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/throw_exception.hpp \ - /home/pblunsom/packages/include/boost/assert.hpp \ - /home/pblunsom/packages/include/boost/config.hpp \ - /home/pblunsom/packages/include/boost/config/user.hpp \ - /home/pblunsom/packages/include/boost/config/select_compiler_config.hpp \ - /home/pblunsom/packages/include/boost/config/compiler/gcc.hpp \ - /home/pblunsom/packages/include/boost/config/select_stdlib_config.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/utility.hpp \ - /home/pblunsom/packages/include/boost/config/stdlib/libstdcpp3.hpp \ - /home/pblunsom/packages/include/boost/config/select_platform_config.hpp \ - /home/pblunsom/packages/include/boost/config/platform/linux.hpp \ - /home/pblunsom/packages/include/boost/config/posix_features.hpp \ - /home/pblunsom/packages/include/boost/config/suffix.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/scoped_deleter.hpp \ - /home/pblunsom/packages/include/boost/scoped_array.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/scoped_array.hpp \ - /home/pblunsom/packages/include/boost/checked_delete.hpp \ - /home/pblunsom/packages/include/boost/detail/workaround.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/operator_bool.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/static_move_ptr.hpp \ - /home/pblunsom/packages/include/boost/compressed_pair.hpp \ - /home/pblunsom/packages/include/boost/detail/compressed_pair.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_cv.hpp \ - /home/pblunsom/packages/include/boost/type_traits/broken_compiler_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/lambda_support.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/ttp.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/msvc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/gcc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/workaround.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/ctps.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/cv_traits_impl.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/type_trait_def.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/template_arity_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/int.hpp \ - /home/pblunsom/packages/include/boost/mpl/int_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/adl_barrier.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/adl.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/intel.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/nttp_decl.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/nttp.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/integral_wrapper.hpp \ - /home/pblunsom/packages/include/boost/mpl/integral_c_tag.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/static_constant.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/static_cast.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/cat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/config/config.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/template_arity_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessor/params.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/preprocessor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comma_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/comma_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/iif.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bool.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/empty.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/comma.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repeat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/repeat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug/error.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/auto_rec.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/eat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/inc.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/inc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/overload_resolution.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/type_trait_undef.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_empty.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_convertible.hpp \ - /home/pblunsom/packages/include/boost/type_traits/intrinsics.hpp \ - /home/pblunsom/packages/include/boost/type_traits/config.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_same.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/bool_trait_def.hpp \ - /home/pblunsom/packages/include/boost/type_traits/integral_constant.hpp \ - /home/pblunsom/packages/include/boost/mpl/bool.hpp \ - /home/pblunsom/packages/include/boost/mpl/bool_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/integral_c.hpp \ - /home/pblunsom/packages/include/boost/mpl/integral_c_fwd.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/bool_trait_undef.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_reference.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_volatile.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/yes_no_type.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_array.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_reference.hpp \ - /home/pblunsom/packages/include/boost/type_traits/ice.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_or.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_and.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_not.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_eq.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_arithmetic.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_integral.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_float.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_void.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_abstract.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_class.hpp \ - /home/pblunsom/packages/include/boost/call_traits.hpp \ - /home/pblunsom/packages/include/boost/detail/call_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_member_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_member_function_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/default_deleter.hpp \ - /home/pblunsom/packages/include/boost/mpl/if.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/value_wknd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/integral.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/eti.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/lambda_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/void_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/lambda_arity_param.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/arity.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/dtp.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessor/enum.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp \ - /home/pblunsom/packages/include/boost/mpl/limits/arity.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/and.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitand.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/identity.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/identity.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/empty.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/add.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/dec.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/while.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/fold_left.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/detail/fold_left.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/expr_iif.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/adt.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/is_binary.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/check.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/compl.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/fold_right.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/detail/fold_right.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/detail/while.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/elem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/sub.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_bounds.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/is_convertible.hpp \ - /home/pblunsom/packages/include/boost/mpl/and.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/use_preprocessed.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/nested_type_wknd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/include_preprocessed.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/compiler.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/stringize.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/and.hpp \ - /home/pblunsom/packages/include/boost/mpl/identity.hpp \ - /home/pblunsom/packages/include/boost/utility/enable_if.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/move.hpp \ - /home/pblunsom/packages/include/boost/static_assert.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/exception.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/clone_allocator.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/nullable.hpp \ - /home/pblunsom/packages/include/boost/mpl/eval_if.hpp \ - /home/pblunsom/packages/include/boost/range/functions.hpp \ - /home/pblunsom/packages/include/boost/range/begin.hpp \ - /home/pblunsom/packages/include/boost/range/config.hpp \ - /home/pblunsom/packages/include/boost/range/iterator.hpp \ - /home/pblunsom/packages/include/boost/range/mutable_iterator.hpp \ - /home/pblunsom/packages/include/boost/range/detail/extract_optional_type.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_traits.hpp \ - /home/pblunsom/packages/include/boost/detail/iterator.hpp \ - /home/pblunsom/packages/include/boost/range/const_iterator.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_const.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_const.hpp \ - /home/pblunsom/packages/include/boost/range/end.hpp \ - /home/pblunsom/packages/include/boost/range/detail/implementation_help.hpp \ - /home/pblunsom/packages/include/boost/range/detail/common.hpp \ - /home/pblunsom/packages/include/boost/range/detail/sfinae.hpp \ - /home/pblunsom/packages/include/boost/range/size.hpp \ - /home/pblunsom/packages/include/boost/range/difference_type.hpp \ - /home/pblunsom/packages/include/boost/range/distance.hpp \ - /home/pblunsom/packages/include/boost/range/empty.hpp \ - /home/pblunsom/packages/include/boost/range/rbegin.hpp \ - /home/pblunsom/packages/include/boost/range/reverse_iterator.hpp \ - /home/pblunsom/packages/include/boost/iterator/reverse_iterator.hpp \ - /home/pblunsom/packages/include/boost/iterator.hpp \ - /home/pblunsom/packages/include/boost/utility.hpp \ - /home/pblunsom/packages/include/boost/utility/addressof.hpp \ - /home/pblunsom/packages/include/boost/utility/base_from_member.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_binary_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/rem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/repeat_from_to.hpp \ - /home/pblunsom/packages/include/boost/utility/binary.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/deduce_d.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/cat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/fold_left.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/seq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/elem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/size.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/transform.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/mod.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/detail/div_base.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/less_equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/not.hpp \ - /home/pblunsom/packages/include/boost/next_prior.hpp \ - /home/pblunsom/packages/include/boost/noncopyable.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_adaptor.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_categories.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/config_def.hpp \ - /home/pblunsom/packages/include/boost/mpl/placeholders.hpp \ - /home/pblunsom/packages/include/boost/mpl/arg.hpp \ - /home/pblunsom/packages/include/boost/mpl/arg_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na_assert.hpp \ - /home/pblunsom/packages/include/boost/mpl/assert.hpp \ - /home/pblunsom/packages/include/boost/mpl/not.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/yes_no.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/arrays.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/pp_counter.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/arity_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/arg_typedef.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/config_undef.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_facade.hpp \ - /home/pblunsom/packages/include/boost/iterator/interoperable.hpp \ - /home/pblunsom/packages/include/boost/mpl/or.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/or.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/facade_iterator_category.hpp \ - /home/pblunsom/packages/include/boost/detail/indirect_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_function.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/false_result.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/is_function_ptr_helper.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_reference.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_pointer.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/enable_if.hpp \ - /home/pblunsom/packages/include/boost/implicit_cast.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_const.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_pod.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_scalar.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_enum.hpp \ - /home/pblunsom/packages/include/boost/mpl/always.hpp \ - /home/pblunsom/packages/include/boost/mpl/apply.hpp \ - /home/pblunsom/packages/include/boost/mpl/apply_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/apply_wrap.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/has_apply.hpp \ - /home/pblunsom/packages/include/boost/mpl/has_xxx.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/type_wrapper.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/has_xxx.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/msvc_typename.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/has_apply.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/msvc_never_true.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp \ - /home/pblunsom/packages/include/boost/mpl/lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/bind.hpp \ - /home/pblunsom/packages/include/boost/mpl/bind_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/bind.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/next.hpp \ - /home/pblunsom/packages/include/boost/mpl/next_prior.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/common_name_wknd.hpp \ - /home/pblunsom/packages/include/boost/mpl/protect.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/full_lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/quote.hpp \ - /home/pblunsom/packages/include/boost/mpl/void.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/has_type.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/bcc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/template_arity.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp \ - /home/pblunsom/packages/include/boost/range/rend.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/indirect_fun.hpp \ - /home/pblunsom/packages/include/boost/utility/result_of.hpp \ - /home/pblunsom/packages/include/boost/type.hpp \ - /home/pblunsom/packages/include/boost/preprocessor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/library.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/div.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/mul.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/data.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/elem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/size.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/insert.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/push_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/not_equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/pop_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/deduce_z.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/pop_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/push_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/remove.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/replace.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/greater.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/less.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/greater_equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/config/limits.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/expr_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug/assert.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug/line.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/iterate.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot/slot.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot/detail/def.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/apply.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/is_unary.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/expand.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/intercept.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/local.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/self.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/append.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/at.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/rest_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/cat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/for_each_i.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/for.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/detail/for.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/filter.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/first_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/for_each.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/for_each_product.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/to_tuple.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/to_list.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/size.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/transform.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitnor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitxor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/nor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/or.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/xor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/paren.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/paren_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/deduce_r.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_shifted.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_shifted_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_trailing.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_trailing_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/selection.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/selection/max.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/selection/min.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/filter.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/first_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/detail/split.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/fold_right.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/for_each.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/for_each_i.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/for_each_product.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/insert.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/rest_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/pop_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/pop_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/push_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/push_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/remove.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/replace.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/subseq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/to_array.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/to_tuple.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/to_seq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/detail/iter/forward1.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot/detail/shared.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp \ - /home/pblunsom/packages/include/boost/utility/detail/result_of_iterate.hpp \ - /home/pblunsom/packages/include/boost/pointee.hpp \ - /home/pblunsom/packages/include/boost/detail/is_incrementable.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/void_ptr_iterator.hpp \ - corpus.hh /home/pblunsom/packages/include/boost/shared_ptr.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/shared_ptr.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/memory.hpp \ - /home/pblunsom/packages/include/boost/throw_exception.hpp \ - /home/pblunsom/packages/include/boost/exception/detail/attribute_noreturn.hpp \ - /home/pblunsom/packages/include/boost/exception/exception.hpp \ - /home/pblunsom/packages/include/boost/current_function.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/shared_count.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/bad_weak_ptr.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_counted_base.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_has_sync.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp \ - /home/pblunsom/packages/include/boost/detail/sp_typeinfo.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_counted_impl.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_convertible.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/spinlock_pool.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/spinlock.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/spinlock_sync.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/yield_k.hpp \ - /home/pblunsom/packages/include/boost/memory_order.hpp contexts_lexer.h \ - ../../../decoder/dict.h \ - /home/pblunsom/packages/include/boost/functional/hash.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/hash.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/hash_fwd.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/detail/hash_float.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/detail/float_functions.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/cmath.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/detail/limits.hpp \ - /home/pblunsom/packages/include/boost/limits.hpp \ - /home/pblunsom/packages/include/boost/integer/static_log2.hpp \ - /home/pblunsom/packages/include/boost/integer_fwd.hpp \ - /home/pblunsom/packages/include/boost/cstdint.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/detail/hash_float_generic.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/extensions.hpp \ - /home/pblunsom/packages/include/boost/detail/container_fwd.hpp \ - ../../../decoder/wordid.h gzstream.hh \ - /home/pblunsom/packages/include/boost/tuple/tuple.hpp \ - /home/pblunsom/packages/include/boost/ref.hpp \ - /home/pblunsom/packages/include/boost/tuple/detail/tuple_basic.hpp \ - /home/pblunsom/packages/include/boost/type_traits/cv_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_volatile.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_cv.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_volatile.hpp \ - /home/pblunsom/packages/include/boost/type_traits/function_traits.hpp -contexts_lexer.o: contexts_lexer.cc contexts_lexer.h \ - ../../../decoder/dict.h \ - /home/pblunsom/packages/include/boost/functional/hash.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/hash.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/hash_fwd.hpp \ - /home/pblunsom/packages/include/boost/config.hpp \ - /home/pblunsom/packages/include/boost/config/user.hpp \ - /home/pblunsom/packages/include/boost/config/select_compiler_config.hpp \ - /home/pblunsom/packages/include/boost/config/compiler/gcc.hpp \ - /home/pblunsom/packages/include/boost/config/select_stdlib_config.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/utility.hpp \ - /home/pblunsom/packages/include/boost/config/stdlib/libstdcpp3.hpp \ - /home/pblunsom/packages/include/boost/config/select_platform_config.hpp \ - /home/pblunsom/packages/include/boost/config/platform/linux.hpp \ - /home/pblunsom/packages/include/boost/config/posix_features.hpp \ - /home/pblunsom/packages/include/boost/config/suffix.hpp \ - /home/pblunsom/packages/include/boost/detail/workaround.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/detail/hash_float.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/detail/float_functions.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/cmath.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/detail/limits.hpp \ - /home/pblunsom/packages/include/boost/limits.hpp \ - /home/pblunsom/packages/include/boost/integer/static_log2.hpp \ - /home/pblunsom/packages/include/boost/integer_fwd.hpp \ - /home/pblunsom/packages/include/boost/cstdint.hpp \ - /home/pblunsom/packages/include/boost/assert.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/detail/hash_float_generic.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/extensions.hpp \ - /home/pblunsom/packages/include/boost/detail/container_fwd.hpp \ - ../../../decoder/wordid.h ../../../decoder/filelib.h \ - ../../../decoder/gzstream.h -corpus.o: corpus.cc corpus.hh \ - /home/pblunsom/packages/include/boost/shared_ptr.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/shared_ptr.hpp \ - /home/pblunsom/packages/include/boost/config.hpp \ - /home/pblunsom/packages/include/boost/config/user.hpp \ - /home/pblunsom/packages/include/boost/config/select_compiler_config.hpp \ - /home/pblunsom/packages/include/boost/config/compiler/gcc.hpp \ - /home/pblunsom/packages/include/boost/config/select_stdlib_config.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/utility.hpp \ - /home/pblunsom/packages/include/boost/config/stdlib/libstdcpp3.hpp \ - /home/pblunsom/packages/include/boost/config/select_platform_config.hpp \ - /home/pblunsom/packages/include/boost/config/platform/linux.hpp \ - /home/pblunsom/packages/include/boost/config/posix_features.hpp \ - /home/pblunsom/packages/include/boost/config/suffix.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/memory.hpp \ - /home/pblunsom/packages/include/boost/assert.hpp \ - /home/pblunsom/packages/include/boost/checked_delete.hpp \ - /home/pblunsom/packages/include/boost/throw_exception.hpp \ - /home/pblunsom/packages/include/boost/exception/detail/attribute_noreturn.hpp \ - /home/pblunsom/packages/include/boost/detail/workaround.hpp \ - /home/pblunsom/packages/include/boost/exception/exception.hpp \ - /home/pblunsom/packages/include/boost/current_function.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/shared_count.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/bad_weak_ptr.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_counted_base.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_has_sync.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp \ - /home/pblunsom/packages/include/boost/detail/sp_typeinfo.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_counted_impl.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_convertible.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/spinlock_pool.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/spinlock.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/spinlock_sync.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/yield_k.hpp \ - /home/pblunsom/packages/include/boost/memory_order.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/operator_bool.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/ptr_vector.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/ptr_sequence_adapter.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/reversible_ptr_container.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/throw_exception.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/scoped_deleter.hpp \ - /home/pblunsom/packages/include/boost/scoped_array.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/scoped_array.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/static_move_ptr.hpp \ - /home/pblunsom/packages/include/boost/compressed_pair.hpp \ - /home/pblunsom/packages/include/boost/detail/compressed_pair.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_cv.hpp \ - /home/pblunsom/packages/include/boost/type_traits/broken_compiler_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/lambda_support.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/ttp.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/msvc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/gcc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/workaround.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/ctps.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/cv_traits_impl.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/type_trait_def.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/template_arity_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/int.hpp \ - /home/pblunsom/packages/include/boost/mpl/int_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/adl_barrier.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/adl.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/intel.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/nttp_decl.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/nttp.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/integral_wrapper.hpp \ - /home/pblunsom/packages/include/boost/mpl/integral_c_tag.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/static_constant.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/static_cast.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/cat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/config/config.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/template_arity_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessor/params.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/preprocessor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comma_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/comma_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/iif.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bool.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/empty.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/comma.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repeat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/repeat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug/error.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/auto_rec.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/eat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/inc.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/inc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/overload_resolution.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/type_trait_undef.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_empty.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_convertible.hpp \ - /home/pblunsom/packages/include/boost/type_traits/intrinsics.hpp \ - /home/pblunsom/packages/include/boost/type_traits/config.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_same.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/bool_trait_def.hpp \ - /home/pblunsom/packages/include/boost/type_traits/integral_constant.hpp \ - /home/pblunsom/packages/include/boost/mpl/bool.hpp \ - /home/pblunsom/packages/include/boost/mpl/bool_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/integral_c.hpp \ - /home/pblunsom/packages/include/boost/mpl/integral_c_fwd.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/bool_trait_undef.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_reference.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_volatile.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/yes_no_type.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_array.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_reference.hpp \ - /home/pblunsom/packages/include/boost/type_traits/ice.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_or.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_and.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_not.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_eq.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_arithmetic.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_integral.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_float.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_void.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_abstract.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_class.hpp \ - /home/pblunsom/packages/include/boost/call_traits.hpp \ - /home/pblunsom/packages/include/boost/detail/call_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_member_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_member_function_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/default_deleter.hpp \ - /home/pblunsom/packages/include/boost/mpl/if.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/value_wknd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/integral.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/eti.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/lambda_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/void_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/lambda_arity_param.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/arity.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/dtp.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessor/enum.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp \ - /home/pblunsom/packages/include/boost/mpl/limits/arity.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/and.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitand.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/identity.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/identity.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/empty.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/add.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/dec.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/while.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/fold_left.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/detail/fold_left.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/expr_iif.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/adt.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/is_binary.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/check.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/compl.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/fold_right.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/detail/fold_right.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/detail/while.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/elem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/sub.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_bounds.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/is_convertible.hpp \ - /home/pblunsom/packages/include/boost/mpl/and.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/use_preprocessed.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/nested_type_wknd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/include_preprocessed.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/compiler.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/stringize.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/and.hpp \ - /home/pblunsom/packages/include/boost/mpl/identity.hpp \ - /home/pblunsom/packages/include/boost/utility/enable_if.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/move.hpp \ - /home/pblunsom/packages/include/boost/static_assert.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/exception.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/clone_allocator.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/nullable.hpp \ - /home/pblunsom/packages/include/boost/mpl/eval_if.hpp \ - /home/pblunsom/packages/include/boost/range/functions.hpp \ - /home/pblunsom/packages/include/boost/range/begin.hpp \ - /home/pblunsom/packages/include/boost/range/config.hpp \ - /home/pblunsom/packages/include/boost/range/iterator.hpp \ - /home/pblunsom/packages/include/boost/range/mutable_iterator.hpp \ - /home/pblunsom/packages/include/boost/range/detail/extract_optional_type.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_traits.hpp \ - /home/pblunsom/packages/include/boost/detail/iterator.hpp \ - /home/pblunsom/packages/include/boost/range/const_iterator.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_const.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_const.hpp \ - /home/pblunsom/packages/include/boost/range/end.hpp \ - /home/pblunsom/packages/include/boost/range/detail/implementation_help.hpp \ - /home/pblunsom/packages/include/boost/range/detail/common.hpp \ - /home/pblunsom/packages/include/boost/range/detail/sfinae.hpp \ - /home/pblunsom/packages/include/boost/range/size.hpp \ - /home/pblunsom/packages/include/boost/range/difference_type.hpp \ - /home/pblunsom/packages/include/boost/range/distance.hpp \ - /home/pblunsom/packages/include/boost/range/empty.hpp \ - /home/pblunsom/packages/include/boost/range/rbegin.hpp \ - /home/pblunsom/packages/include/boost/range/reverse_iterator.hpp \ - /home/pblunsom/packages/include/boost/iterator/reverse_iterator.hpp \ - /home/pblunsom/packages/include/boost/iterator.hpp \ - /home/pblunsom/packages/include/boost/utility.hpp \ - /home/pblunsom/packages/include/boost/utility/addressof.hpp \ - /home/pblunsom/packages/include/boost/utility/base_from_member.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_binary_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/rem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/repeat_from_to.hpp \ - /home/pblunsom/packages/include/boost/utility/binary.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/deduce_d.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/cat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/fold_left.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/seq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/elem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/size.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/transform.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/mod.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/detail/div_base.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/less_equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/not.hpp \ - /home/pblunsom/packages/include/boost/next_prior.hpp \ - /home/pblunsom/packages/include/boost/noncopyable.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_adaptor.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_categories.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/config_def.hpp \ - /home/pblunsom/packages/include/boost/mpl/placeholders.hpp \ - /home/pblunsom/packages/include/boost/mpl/arg.hpp \ - /home/pblunsom/packages/include/boost/mpl/arg_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na_assert.hpp \ - /home/pblunsom/packages/include/boost/mpl/assert.hpp \ - /home/pblunsom/packages/include/boost/mpl/not.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/yes_no.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/arrays.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/pp_counter.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/arity_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/arg_typedef.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/config_undef.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_facade.hpp \ - /home/pblunsom/packages/include/boost/iterator/interoperable.hpp \ - /home/pblunsom/packages/include/boost/mpl/or.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/or.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/facade_iterator_category.hpp \ - /home/pblunsom/packages/include/boost/detail/indirect_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_function.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/false_result.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/is_function_ptr_helper.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_reference.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_pointer.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/enable_if.hpp \ - /home/pblunsom/packages/include/boost/implicit_cast.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_const.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_pod.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_scalar.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_enum.hpp \ - /home/pblunsom/packages/include/boost/mpl/always.hpp \ - /home/pblunsom/packages/include/boost/mpl/apply.hpp \ - /home/pblunsom/packages/include/boost/mpl/apply_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/apply_wrap.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/has_apply.hpp \ - /home/pblunsom/packages/include/boost/mpl/has_xxx.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/type_wrapper.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/has_xxx.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/msvc_typename.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/has_apply.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/msvc_never_true.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp \ - /home/pblunsom/packages/include/boost/mpl/lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/bind.hpp \ - /home/pblunsom/packages/include/boost/mpl/bind_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/bind.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/next.hpp \ - /home/pblunsom/packages/include/boost/mpl/next_prior.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/common_name_wknd.hpp \ - /home/pblunsom/packages/include/boost/mpl/protect.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/full_lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/quote.hpp \ - /home/pblunsom/packages/include/boost/mpl/void.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/has_type.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/bcc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/template_arity.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp \ - /home/pblunsom/packages/include/boost/range/rend.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/indirect_fun.hpp \ - /home/pblunsom/packages/include/boost/utility/result_of.hpp \ - /home/pblunsom/packages/include/boost/type.hpp \ - /home/pblunsom/packages/include/boost/preprocessor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/library.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/div.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/mul.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/data.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/elem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/size.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/insert.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/push_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/not_equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/pop_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/deduce_z.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/pop_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/push_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/remove.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/replace.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/greater.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/less.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/greater_equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/config/limits.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/expr_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug/assert.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug/line.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/iterate.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot/slot.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot/detail/def.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/apply.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/is_unary.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/expand.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/intercept.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/local.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/self.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/append.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/at.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/rest_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/cat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/for_each_i.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/for.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/detail/for.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/filter.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/first_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/for_each.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/for_each_product.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/to_tuple.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/to_list.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/size.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/transform.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitnor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitxor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/nor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/or.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/xor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/paren.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/paren_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/deduce_r.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_shifted.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_shifted_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_trailing.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_trailing_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/selection.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/selection/max.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/selection/min.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/filter.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/first_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/detail/split.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/fold_right.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/for_each.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/for_each_i.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/for_each_product.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/insert.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/rest_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/pop_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/pop_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/push_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/push_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/remove.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/replace.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/subseq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/to_array.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/to_tuple.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/to_seq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/detail/iter/forward1.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot/detail/shared.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp \ - /home/pblunsom/packages/include/boost/utility/detail/result_of_iterate.hpp \ - /home/pblunsom/packages/include/boost/pointee.hpp \ - /home/pblunsom/packages/include/boost/detail/is_incrementable.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/void_ptr_iterator.hpp \ - gzstream.hh -gzstream.o: gzstream.cc gzstream.hh -mpi-pyp-topics.o: mpi-pyp-topics.cc \ - /home/pblunsom/packages/include/boost/mpi/communicator.hpp \ - /home/pblunsom/packages/include/boost/mpi/config.hpp \ - /home/pblunsom/packages/include/mpi.h \ - /home/pblunsom/packages/include/mpio.h \ - /home/pblunsom/packages/include/mpi.h \ - /home/pblunsom/packages/include/mpicxx.h \ - /home/pblunsom/packages/include/boost/config.hpp \ - /home/pblunsom/packages/include/boost/config/user.hpp \ - /home/pblunsom/packages/include/boost/config/select_compiler_config.hpp \ - /home/pblunsom/packages/include/boost/config/compiler/gcc.hpp \ - /home/pblunsom/packages/include/boost/config/select_stdlib_config.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/utility.hpp \ - /home/pblunsom/packages/include/boost/config/stdlib/libstdcpp3.hpp \ - /home/pblunsom/packages/include/boost/config/select_platform_config.hpp \ - /home/pblunsom/packages/include/boost/config/platform/linux.hpp \ - /home/pblunsom/packages/include/boost/config/posix_features.hpp \ - /home/pblunsom/packages/include/boost/config/suffix.hpp \ - /home/pblunsom/packages/include/boost/config/auto_link.hpp \ - /home/pblunsom/packages/include/boost/mpi/exception.hpp \ - /home/pblunsom/packages/include/boost/throw_exception.hpp \ - /home/pblunsom/packages/include/boost/exception/detail/attribute_noreturn.hpp \ - /home/pblunsom/packages/include/boost/detail/workaround.hpp \ - /home/pblunsom/packages/include/boost/exception/exception.hpp \ - /home/pblunsom/packages/include/boost/current_function.hpp \ - /home/pblunsom/packages/include/boost/optional.hpp \ - /home/pblunsom/packages/include/boost/optional/optional.hpp \ - /home/pblunsom/packages/include/boost/assert.hpp \ - /home/pblunsom/packages/include/boost/type.hpp \ - /home/pblunsom/packages/include/boost/type_traits/alignment_of.hpp \ - /home/pblunsom/packages/include/boost/type_traits/intrinsics.hpp \ - /home/pblunsom/packages/include/boost/type_traits/config.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_same.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/bool_trait_def.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/template_arity_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/int.hpp \ - /home/pblunsom/packages/include/boost/mpl/int_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/adl_barrier.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/adl.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/msvc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/intel.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/gcc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/workaround.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/nttp_decl.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/nttp.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/integral_wrapper.hpp \ - /home/pblunsom/packages/include/boost/mpl/integral_c_tag.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/static_constant.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/static_cast.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/cat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/config/config.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/template_arity_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessor/params.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/preprocessor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comma_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/comma_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/iif.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bool.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/empty.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/comma.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repeat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/repeat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug/error.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/auto_rec.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/eat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/inc.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/inc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/ttp.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/ctps.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/overload_resolution.hpp \ - /home/pblunsom/packages/include/boost/type_traits/integral_constant.hpp \ - /home/pblunsom/packages/include/boost/mpl/bool.hpp \ - /home/pblunsom/packages/include/boost/mpl/bool_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/integral_c.hpp \ - /home/pblunsom/packages/include/boost/mpl/integral_c_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/lambda_support.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/bool_trait_undef.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_reference.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_volatile.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/cv_traits_impl.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/size_t_trait_def.hpp \ - /home/pblunsom/packages/include/boost/mpl/size_t.hpp \ - /home/pblunsom/packages/include/boost/mpl/size_t_fwd.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/size_t_trait_undef.hpp \ - /home/pblunsom/packages/include/boost/type_traits/type_with_alignment.hpp \ - /home/pblunsom/packages/include/boost/mpl/if.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/value_wknd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/integral.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/eti.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/lambda_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/void_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/lambda_arity_param.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/arity.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/dtp.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessor/enum.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp \ - /home/pblunsom/packages/include/boost/mpl/limits/arity.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/and.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitand.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/identity.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/identity.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/empty.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/add.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/dec.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/while.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/fold_left.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/detail/fold_left.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/expr_iif.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/adt.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/is_binary.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/check.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/compl.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/fold_right.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/detail/fold_right.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/detail/while.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/elem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/sub.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/for_each_i.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/for.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/detail/for.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/rem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/to_list.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/transform.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/append.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_pod.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_void.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_scalar.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_arithmetic.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_integral.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_float.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_or.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_enum.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_member_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_member_function_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_cv.hpp \ - /home/pblunsom/packages/include/boost/type_traits/broken_compiler_spec.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/type_trait_def.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/type_trait_undef.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_and.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_not.hpp \ - /home/pblunsom/packages/include/boost/static_assert.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_reference.hpp \ - /home/pblunsom/packages/include/boost/mpl/not.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/nested_type_wknd.hpp \ - /home/pblunsom/packages/include/boost/detail/reference_content.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_nothrow_copy.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_trivial_copy.hpp \ - /home/pblunsom/packages/include/boost/mpl/void.hpp \ - /home/pblunsom/packages/include/boost/none.hpp \ - /home/pblunsom/packages/include/boost/none_t.hpp \ - /home/pblunsom/packages/include/boost/utility/compare_pointees.hpp \ - /home/pblunsom/packages/include/boost/optional/optional_fwd.hpp \ - /home/pblunsom/packages/include/boost/shared_ptr.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/shared_ptr.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/memory.hpp \ - /home/pblunsom/packages/include/boost/checked_delete.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/shared_count.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/bad_weak_ptr.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_counted_base.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_has_sync.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp \ - /home/pblunsom/packages/include/boost/detail/sp_typeinfo.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_counted_impl.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_convertible.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/spinlock_pool.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/spinlock.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/spinlock_sync.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/yield_k.hpp \ - /home/pblunsom/packages/include/boost/memory_order.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/operator_bool.hpp \ - /home/pblunsom/packages/include/boost/mpi/datatype.hpp \ - /home/pblunsom/packages/include/boost/mpi/datatype_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/or.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/use_preprocessed.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/include_preprocessed.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/compiler.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/stringize.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/or.hpp \ - /home/pblunsom/packages/include/boost/mpl/and.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/and.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/mpi_datatype_cache.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/mpi_datatype_oarchive.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/oserializer.hpp \ - /home/pblunsom/packages/include/boost/mpl/eval_if.hpp \ - /home/pblunsom/packages/include/boost/mpl/equal_to.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/comparison_op.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/numeric_op.hpp \ - /home/pblunsom/packages/include/boost/mpl/numeric_cast.hpp \ - /home/pblunsom/packages/include/boost/mpl/apply_wrap.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/has_apply.hpp \ - /home/pblunsom/packages/include/boost/mpl/has_xxx.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/type_wrapper.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/yes_no.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/arrays.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/has_xxx.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/msvc_typename.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/has_apply.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/msvc_never_true.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp \ - /home/pblunsom/packages/include/boost/mpl/tag.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/has_tag.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/numeric_cast_utils.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/forwarding.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/msvc_eti_base.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/is_msvc_eti_arg.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp \ - /home/pblunsom/packages/include/boost/mpl/greater_equal.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp \ - /home/pblunsom/packages/include/boost/mpl/identity.hpp \ - /home/pblunsom/packages/include/boost/serialization/extended_type_info_typeid.hpp \ - /home/pblunsom/packages/include/boost/serialization/static_warning.hpp \ - /home/pblunsom/packages/include/boost/mpl/print.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_polymorphic.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_const.hpp \ - /home/pblunsom/packages/include/boost/serialization/singleton.hpp \ - /home/pblunsom/packages/include/boost/noncopyable.hpp \ - /home/pblunsom/packages/include/boost/serialization/force_include.hpp \ - /home/pblunsom/packages/include/boost/serialization/extended_type_info.hpp \ - /home/pblunsom/packages/include/boost/serialization/config.hpp \ - /home/pblunsom/packages/include/boost/config/abi_prefix.hpp \ - /home/pblunsom/packages/include/boost/config/abi_suffix.hpp \ - /home/pblunsom/packages/include/boost/serialization/factory.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/greater.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/less.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/less_equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/not.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/not_equal.hpp \ - /home/pblunsom/packages/include/boost/serialization/access.hpp \ - /home/pblunsom/packages/include/boost/serialization/pfto.hpp \ - /home/pblunsom/packages/include/boost/serialization/throw_exception.hpp \ - /home/pblunsom/packages/include/boost/serialization/smart_cast.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_base_and_derived.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_pointer.hpp \ - /home/pblunsom/packages/include/boost/serialization/assume_abstract.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_abstract.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_const.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_extent.hpp \ - /home/pblunsom/packages/include/boost/serialization/serialization.hpp \ - /home/pblunsom/packages/include/boost/serialization/strong_typedef.hpp \ - /home/pblunsom/packages/include/boost/operators.hpp \ - /home/pblunsom/packages/include/boost/iterator.hpp \ - /home/pblunsom/packages/include/boost/serialization/nvp.hpp \ - /home/pblunsom/packages/include/boost/serialization/level.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_fundamental.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_array.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_class.hpp \ - /home/pblunsom/packages/include/boost/serialization/level_enum.hpp \ - /home/pblunsom/packages/include/boost/serialization/tracking.hpp \ - /home/pblunsom/packages/include/boost/mpl/greater.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/greater.hpp \ - /home/pblunsom/packages/include/boost/serialization/tracking_enum.hpp \ - /home/pblunsom/packages/include/boost/serialization/type_info_implementation.hpp \ - /home/pblunsom/packages/include/boost/serialization/traits.hpp \ - /home/pblunsom/packages/include/boost/serialization/split_member.hpp \ - /home/pblunsom/packages/include/boost/serialization/base_object.hpp \ - /home/pblunsom/packages/include/boost/serialization/void_cast_fwd.hpp \ - /home/pblunsom/packages/include/boost/serialization/wrapper.hpp \ - /home/pblunsom/packages/include/boost/serialization/version.hpp \ - /home/pblunsom/packages/include/boost/mpl/assert.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/pp_counter.hpp \ - /home/pblunsom/packages/include/boost/mpl/less.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/less.hpp \ - /home/pblunsom/packages/include/boost/mpl/comparison.hpp \ - /home/pblunsom/packages/include/boost/mpl/not_equal_to.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp \ - /home/pblunsom/packages/include/boost/mpl/less_equal.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp \ - /home/pblunsom/packages/include/boost/serialization/void_cast.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_virtual_base_of.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_base_of.hpp \ - /home/pblunsom/packages/include/boost/serialization/array.hpp \ - /home/pblunsom/packages/include/boost/mpl/always.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/arity_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/apply.hpp \ - /home/pblunsom/packages/include/boost/mpl/apply_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/placeholders.hpp \ - /home/pblunsom/packages/include/boost/mpl/arg.hpp \ - /home/pblunsom/packages/include/boost/mpl/arg_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na_assert.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/arg_typedef.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp \ - /home/pblunsom/packages/include/boost/mpl/lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/bind.hpp \ - /home/pblunsom/packages/include/boost/mpl/bind_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/bind.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/next.hpp \ - /home/pblunsom/packages/include/boost/mpl/next_prior.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/common_name_wknd.hpp \ - /home/pblunsom/packages/include/boost/mpl/protect.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/full_lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/quote.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/has_type.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/bcc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/template_arity.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp \ - /home/pblunsom/packages/include/boost/array.hpp \ - /home/pblunsom/packages/include/boost/swap.hpp \ - /home/pblunsom/packages/include/boost/utility/swap.hpp \ - /home/pblunsom/packages/include/boost/detail/iterator.hpp \ - /home/pblunsom/packages/include/boost/serialization/collection_size_type.hpp \ - /home/pblunsom/packages/include/boost/archive/archive_exception.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/decl.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/abi_prefix.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/abi_suffix.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/basic_oarchive.hpp \ - /home/pblunsom/packages/include/boost/archive/basic_archive.hpp \ - /home/pblunsom/packages/include/boost/cstdint.hpp \ - /home/pblunsom/packages/include/boost/integer_traits.hpp \ - /home/pblunsom/packages/include/boost/limits.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/auto_link_archive.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/basic_oserializer.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/basic_serializer.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/basic_pointer_oserializer.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/archive_serializer_map.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/check.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/ignore_skeleton_oarchive.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/common_oarchive.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/interface_oarchive.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/mpi_datatype_primitive.hpp \ - /home/pblunsom/packages/include/boost/serialization/detail/get_data.hpp \ - /home/pblunsom/packages/include/boost/integer.hpp \ - /home/pblunsom/packages/include/boost/integer_fwd.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/register_archive.hpp \ - /home/pblunsom/packages/include/boost/utility/enable_if.hpp \ - /home/pblunsom/packages/include/boost/mpi/packed_oarchive.hpp \ - /home/pblunsom/packages/include/boost/archive/basic_binary_oarchive.hpp \ - /home/pblunsom/packages/include/boost/serialization/string.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/packed_oprimitive.hpp \ - /home/pblunsom/packages/include/boost/mpi/allocator.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/binary_buffer_oprimitive.hpp \ - /home/pblunsom/packages/include/boost/serialization/is_bitwise_serializable.hpp \ - /home/pblunsom/packages/include/boost/mpi/packed_iarchive.hpp \ - /home/pblunsom/packages/include/boost/archive/basic_binary_iarchive.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/common_iarchive.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/basic_iarchive.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/basic_pointer_iserializer.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/interface_iarchive.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/iserializer.hpp \ - /home/pblunsom/packages/include/boost/detail/no_exceptions_support.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_new_operator.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/yes_no_type.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/basic_iserializer.hpp \ - /home/pblunsom/packages/include/boost/archive/shared_ptr_helper.hpp \ - /home/pblunsom/packages/include/boost/serialization/shared_ptr_132.hpp \ - /home/pblunsom/packages/include/boost/serialization/split_free.hpp \ - /home/pblunsom/packages/include/boost/serialization/detail/shared_ptr_132.hpp \ - /home/pblunsom/packages/include/boost/serialization/detail/shared_count_132.hpp \ - /home/pblunsom/packages/include/boost/detail/lightweight_mutex.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/lightweight_mutex.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/lwm_pthreads.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/packed_iprimitive.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/binary_buffer_iprimitive.hpp \ - /home/pblunsom/packages/include/boost/mpi/skeleton_and_content_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/point_to_point.hpp \ - /home/pblunsom/packages/include/boost/mpi/status.hpp \ - /home/pblunsom/packages/include/boost/mpi/request.hpp timing.h \ - clock_gettime_stub.c mpi-pyp-topics.hh \ - /home/pblunsom/packages/include/boost/ptr_container/ptr_vector.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/ptr_sequence_adapter.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/reversible_ptr_container.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/throw_exception.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/scoped_deleter.hpp \ - /home/pblunsom/packages/include/boost/scoped_array.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/scoped_array.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/static_move_ptr.hpp \ - /home/pblunsom/packages/include/boost/compressed_pair.hpp \ - /home/pblunsom/packages/include/boost/detail/compressed_pair.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_empty.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_convertible.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_reference.hpp \ - /home/pblunsom/packages/include/boost/type_traits/ice.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_eq.hpp \ - /home/pblunsom/packages/include/boost/call_traits.hpp \ - /home/pblunsom/packages/include/boost/detail/call_traits.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/default_deleter.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_bounds.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/is_convertible.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/move.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/exception.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/clone_allocator.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/nullable.hpp \ - /home/pblunsom/packages/include/boost/range/functions.hpp \ - /home/pblunsom/packages/include/boost/range/begin.hpp \ - /home/pblunsom/packages/include/boost/range/config.hpp \ - /home/pblunsom/packages/include/boost/range/iterator.hpp \ - /home/pblunsom/packages/include/boost/range/mutable_iterator.hpp \ - /home/pblunsom/packages/include/boost/range/detail/extract_optional_type.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_traits.hpp \ - /home/pblunsom/packages/include/boost/range/const_iterator.hpp \ - /home/pblunsom/packages/include/boost/range/end.hpp \ - /home/pblunsom/packages/include/boost/range/detail/implementation_help.hpp \ - /home/pblunsom/packages/include/boost/range/detail/common.hpp \ - /home/pblunsom/packages/include/boost/range/detail/sfinae.hpp \ - /home/pblunsom/packages/include/boost/range/size.hpp \ - /home/pblunsom/packages/include/boost/range/difference_type.hpp \ - /home/pblunsom/packages/include/boost/range/distance.hpp \ - /home/pblunsom/packages/include/boost/range/empty.hpp \ - /home/pblunsom/packages/include/boost/range/rbegin.hpp \ - /home/pblunsom/packages/include/boost/range/reverse_iterator.hpp \ - /home/pblunsom/packages/include/boost/iterator/reverse_iterator.hpp \ - /home/pblunsom/packages/include/boost/utility.hpp \ - /home/pblunsom/packages/include/boost/utility/addressof.hpp \ - /home/pblunsom/packages/include/boost/utility/base_from_member.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_binary_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/repeat_from_to.hpp \ - /home/pblunsom/packages/include/boost/utility/binary.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/deduce_d.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/cat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/fold_left.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/seq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/elem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/size.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/transform.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/mod.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/detail/div_base.hpp \ - /home/pblunsom/packages/include/boost/next_prior.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_adaptor.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_categories.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/config_def.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/config_undef.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_facade.hpp \ - /home/pblunsom/packages/include/boost/iterator/interoperable.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/facade_iterator_category.hpp \ - /home/pblunsom/packages/include/boost/detail/indirect_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_function.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/false_result.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/is_function_ptr_helper.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/enable_if.hpp \ - /home/pblunsom/packages/include/boost/implicit_cast.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_const.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_pointer.hpp \ - /home/pblunsom/packages/include/boost/range/rend.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/indirect_fun.hpp \ - /home/pblunsom/packages/include/boost/utility/result_of.hpp \ - /home/pblunsom/packages/include/boost/preprocessor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/library.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/div.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/mul.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/data.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/elem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/size.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/insert.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/push_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/pop_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/deduce_z.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/pop_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/push_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/remove.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/replace.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/greater_equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/config/limits.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/expr_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug/assert.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug/line.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/iterate.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot/slot.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot/detail/def.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/apply.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/is_unary.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/expand.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/intercept.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/local.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/self.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/at.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/rest_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/cat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/filter.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/first_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/for_each.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/for_each_product.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/to_tuple.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/size.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitnor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitxor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/nor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/or.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/xor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/paren.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/paren_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/deduce_r.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_shifted.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_shifted_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_trailing.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_trailing_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/selection.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/selection/max.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/selection/min.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/filter.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/first_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/detail/split.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/fold_right.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/for_each.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/for_each_i.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/for_each_product.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/insert.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/rest_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/pop_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/pop_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/push_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/push_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/remove.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/replace.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/subseq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/to_array.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/to_tuple.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/to_seq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/detail/iter/forward1.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot/detail/shared.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp \ - /home/pblunsom/packages/include/boost/utility/detail/result_of_iterate.hpp \ - /home/pblunsom/packages/include/boost/pointee.hpp \ - /home/pblunsom/packages/include/boost/detail/is_incrementable.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/void_ptr_iterator.hpp \ - /home/pblunsom/packages/include/boost/random/uniform_real.hpp \ - /home/pblunsom/packages/include/boost/random/detail/config.hpp \ - /home/pblunsom/packages/include/boost/random/variate_generator.hpp \ - /home/pblunsom/packages/include/boost/random/uniform_01.hpp \ - /home/pblunsom/packages/include/boost/random/detail/pass_through_engine.hpp \ - /home/pblunsom/packages/include/boost/random/detail/ptr_helper.hpp \ - /home/pblunsom/packages/include/boost/random/detail/disable_warnings.hpp \ - /home/pblunsom/packages/include/boost/random/detail/enable_warnings.hpp \ - /home/pblunsom/packages/include/boost/random/detail/uniform_int_float.hpp \ - /home/pblunsom/packages/include/boost/random/mersenne_twister.hpp \ - /home/pblunsom/packages/include/boost/random/linear_congruential.hpp \ - /home/pblunsom/packages/include/boost/random/detail/const_mod.hpp \ - /home/pblunsom/packages/include/boost/random/detail/seed.hpp \ - /home/pblunsom/packages/include/boost/random/inversive_congruential.hpp \ - /home/pblunsom/packages/include/boost/random/lagged_fibonacci.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/cmath.hpp \ - /home/pblunsom/packages/include/boost/mpi/environment.hpp mpi-pyp.hh \ - /home/pblunsom/packages/include/boost/tuple/tuple.hpp \ - /home/pblunsom/packages/include/boost/ref.hpp \ - /home/pblunsom/packages/include/boost/tuple/detail/tuple_basic.hpp \ - /home/pblunsom/packages/include/boost/type_traits/cv_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_volatile.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_cv.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_volatile.hpp \ - /home/pblunsom/packages/include/boost/type_traits/function_traits.hpp \ - /home/pblunsom/packages/include/boost/serialization/map.hpp \ - /home/pblunsom/packages/include/boost/serialization/utility.hpp \ - /home/pblunsom/packages/include/boost/serialization/collections_save_imp.hpp \ - /home/pblunsom/packages/include/boost/serialization/collections_load_imp.hpp \ - /home/pblunsom/packages/include/boost/serialization/detail/stack_constructor.hpp \ - /home/pblunsom/packages/include/boost/aligned_storage.hpp \ - /home/pblunsom/packages/include/boost/mpi.hpp \ - /home/pblunsom/packages/include/boost/mpi/collectives.hpp \ - /home/pblunsom/packages/include/boost/mpi/collectives/all_gather.hpp \ - /home/pblunsom/packages/include/boost/serialization/vector.hpp \ - /home/pblunsom/packages/include/boost/serialization/collection_traits.hpp \ - /home/pblunsom/packages/include/boost/mpi/collectives/broadcast.hpp \ - /home/pblunsom/packages/include/boost/mpi/collectives_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpi/collectives/gather.hpp \ - /home/pblunsom/packages/include/boost/mpi/collectives/all_reduce.hpp \ - /home/pblunsom/packages/include/boost/mpi/collectives/reduce.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/computation_tree.hpp \ - /home/pblunsom/packages/include/boost/mpi/operations.hpp \ - /home/pblunsom/packages/include/boost/mpi/collectives/all_to_all.hpp \ - /home/pblunsom/packages/include/boost/mpi/collectives/scatter.hpp \ - /home/pblunsom/packages/include/boost/mpi/collectives/scan.hpp \ - /home/pblunsom/packages/include/boost/mpi/graph_communicator.hpp \ - /home/pblunsom/packages/include/boost/graph/graph_traits.hpp \ - /home/pblunsom/packages/include/boost/pending/property.hpp \ - /home/pblunsom/packages/include/boost/pending/detail/property.hpp \ - /home/pblunsom/packages/include/boost/type_traits/same_traits.hpp \ - /home/pblunsom/packages/include/boost/graph/properties.hpp \ - /home/pblunsom/packages/include/boost/property_map/property_map.hpp \ - /home/pblunsom/packages/include/boost/pending/cstddef.hpp \ - /home/pblunsom/packages/include/boost/concept_check.hpp \ - /home/pblunsom/packages/include/boost/concept/assert.hpp \ - /home/pblunsom/packages/include/boost/concept/detail/general.hpp \ - /home/pblunsom/packages/include/boost/concept/detail/has_constraints.hpp \ - /home/pblunsom/packages/include/boost/type_traits/conversion_traits.hpp \ - /home/pblunsom/packages/include/boost/concept/usage.hpp \ - /home/pblunsom/packages/include/boost/concept/detail/concept_def.hpp \ - /home/pblunsom/packages/include/boost/concept/detail/concept_undef.hpp \ - /home/pblunsom/packages/include/boost/concept_archetype.hpp \ - /home/pblunsom/packages/include/boost/property_map/vector_property_map.hpp \ - /home/pblunsom/packages/include/boost/graph/property_maps/constant_property_map.hpp \ - /home/pblunsom/packages/include/boost/graph/property_maps/null_property_map.hpp \ - /home/pblunsom/packages/include/boost/iterator/counting_iterator.hpp \ - /home/pblunsom/packages/include/boost/detail/numeric_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_nothrow_assign.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_trivial_assign.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_nothrow_constructor.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_trivial_constructor.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_nothrow_destructor.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_trivial_destructor.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_virtual_destructor.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_signed.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_unsigned.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_compound.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_floating_point.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_member_object_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_object.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_stateless.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_union.hpp \ - /home/pblunsom/packages/include/boost/type_traits/rank.hpp \ - /home/pblunsom/packages/include/boost/type_traits/extent.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_all_extents.hpp \ - /home/pblunsom/packages/include/boost/type_traits/aligned_storage.hpp \ - /home/pblunsom/packages/include/boost/type_traits/floating_point_promotion.hpp \ - /home/pblunsom/packages/include/boost/type_traits/integral_promotion.hpp \ - /home/pblunsom/packages/include/boost/type_traits/promote.hpp \ - /home/pblunsom/packages/include/boost/type_traits/make_unsigned.hpp \ - /home/pblunsom/packages/include/boost/type_traits/make_signed.hpp \ - /home/pblunsom/packages/include/boost/type_traits/decay.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_complex.hpp \ - /home/pblunsom/packages/include/boost/detail/select_type.hpp \ - /home/pblunsom/packages/include/boost/graph/iteration_macros.hpp \ - /home/pblunsom/packages/include/boost/shared_array.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/shared_array.hpp \ - /home/pblunsom/packages/include/boost/mpi/group.hpp \ - /home/pblunsom/packages/include/boost/mpi/intercommunicator.hpp \ - /home/pblunsom/packages/include/boost/mpi/nonblocking.hpp \ - /home/pblunsom/packages/include/boost/mpi/skeleton_and_content.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/forward_skeleton_iarchive.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/forward_skeleton_oarchive.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/ignore_iprimitive.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/ignore_oprimitive.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/content_oarchive.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/broadcast_sc.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/communicator_sc.hpp \ - /home/pblunsom/packages/include/boost/mpi/timer.hpp pyp.hh \ - slice-sampler.h log_add.h mt19937ar.h corpus.hh -mpi-train-contexts.o: mpi-train-contexts.cc \ - /home/pblunsom/packages/include/boost/program_options/parsers.hpp \ - /home/pblunsom/packages/include/boost/program_options/config.hpp \ - /home/pblunsom/packages/include/boost/config.hpp \ - /home/pblunsom/packages/include/boost/config/user.hpp \ - /home/pblunsom/packages/include/boost/config/select_compiler_config.hpp \ - /home/pblunsom/packages/include/boost/config/compiler/gcc.hpp \ - /home/pblunsom/packages/include/boost/config/select_stdlib_config.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/utility.hpp \ - /home/pblunsom/packages/include/boost/config/stdlib/libstdcpp3.hpp \ - /home/pblunsom/packages/include/boost/config/select_platform_config.hpp \ - /home/pblunsom/packages/include/boost/config/platform/linux.hpp \ - /home/pblunsom/packages/include/boost/config/posix_features.hpp \ - /home/pblunsom/packages/include/boost/config/suffix.hpp \ - /home/pblunsom/packages/include/boost/version.hpp \ - /home/pblunsom/packages/include/boost/config/auto_link.hpp \ - /home/pblunsom/packages/include/boost/program_options/option.hpp \ - /home/pblunsom/packages/include/boost/program_options/detail/cmdline.hpp \ - /home/pblunsom/packages/include/boost/program_options/errors.hpp \ - /home/pblunsom/packages/include/boost/program_options/cmdline.hpp \ - /home/pblunsom/packages/include/boost/program_options/options_description.hpp \ - /home/pblunsom/packages/include/boost/program_options/value_semantic.hpp \ - /home/pblunsom/packages/include/boost/any.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_reference.hpp \ - /home/pblunsom/packages/include/boost/type_traits/broken_compiler_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/lambda_support.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/ttp.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/msvc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/gcc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/workaround.hpp \ - /home/pblunsom/packages/include/boost/detail/workaround.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/ctps.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/type_trait_def.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/template_arity_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/int.hpp \ - /home/pblunsom/packages/include/boost/mpl/int_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/adl_barrier.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/adl.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/intel.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/nttp_decl.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/nttp.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/integral_wrapper.hpp \ - /home/pblunsom/packages/include/boost/mpl/integral_c_tag.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/static_constant.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/static_cast.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/cat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/config/config.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/template_arity_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessor/params.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/preprocessor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comma_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/comma_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/iif.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bool.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/empty.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/comma.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repeat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/repeat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug/error.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/auto_rec.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/eat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/inc.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/inc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/overload_resolution.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/type_trait_undef.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_reference.hpp \ - /home/pblunsom/packages/include/boost/type_traits/config.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/bool_trait_def.hpp \ - /home/pblunsom/packages/include/boost/type_traits/integral_constant.hpp \ - /home/pblunsom/packages/include/boost/mpl/bool.hpp \ - /home/pblunsom/packages/include/boost/mpl/bool_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/integral_c.hpp \ - /home/pblunsom/packages/include/boost/mpl/integral_c_fwd.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/bool_trait_undef.hpp \ - /home/pblunsom/packages/include/boost/throw_exception.hpp \ - /home/pblunsom/packages/include/boost/exception/detail/attribute_noreturn.hpp \ - /home/pblunsom/packages/include/boost/exception/exception.hpp \ - /home/pblunsom/packages/include/boost/current_function.hpp \ - /home/pblunsom/packages/include/boost/static_assert.hpp \ - /home/pblunsom/packages/include/boost/function/function1.hpp \ - /home/pblunsom/packages/include/boost/function/detail/maybe_include.hpp \ - /home/pblunsom/packages/include/boost/function/function_template.hpp \ - /home/pblunsom/packages/include/boost/function/detail/prologue.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/functional.hpp \ - /home/pblunsom/packages/include/boost/function/function_base.hpp \ - /home/pblunsom/packages/include/boost/detail/sp_typeinfo.hpp \ - /home/pblunsom/packages/include/boost/assert.hpp \ - /home/pblunsom/packages/include/boost/integer.hpp \ - /home/pblunsom/packages/include/boost/integer_fwd.hpp \ - /home/pblunsom/packages/include/boost/limits.hpp \ - /home/pblunsom/packages/include/boost/cstdint.hpp \ - /home/pblunsom/packages/include/boost/integer_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_trivial_copy.hpp \ - /home/pblunsom/packages/include/boost/type_traits/intrinsics.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_same.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_volatile.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/cv_traits_impl.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_pod.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_void.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_scalar.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_arithmetic.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_integral.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_float.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_or.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_enum.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_member_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_member_function_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_cv.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_and.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_not.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_trivial_destructor.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_const.hpp \ - /home/pblunsom/packages/include/boost/type_traits/composite_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_array.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_union.hpp \ - /home/pblunsom/packages/include/boost/type_traits/ice.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/yes_no_type.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_eq.hpp \ - /home/pblunsom/packages/include/boost/ref.hpp \ - /home/pblunsom/packages/include/boost/utility/addressof.hpp \ - /home/pblunsom/packages/include/boost/mpl/if.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/value_wknd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/integral.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/eti.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/lambda_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/void_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/lambda_arity_param.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/arity.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/dtp.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessor/enum.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp \ - /home/pblunsom/packages/include/boost/mpl/limits/arity.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/and.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitand.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/identity.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/identity.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/empty.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/add.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/dec.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/while.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/fold_left.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/detail/fold_left.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/expr_iif.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/adt.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/is_binary.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/check.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/compl.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/fold_right.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/detail/fold_right.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/detail/while.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/elem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/sub.hpp \ - /home/pblunsom/packages/include/boost/type_traits/alignment_of.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/size_t_trait_def.hpp \ - /home/pblunsom/packages/include/boost/mpl/size_t.hpp \ - /home/pblunsom/packages/include/boost/mpl/size_t_fwd.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/size_t_trait_undef.hpp \ - /home/pblunsom/packages/include/boost/utility/enable_if.hpp \ - /home/pblunsom/packages/include/boost/function_equal.hpp \ - /home/pblunsom/packages/include/boost/function/function_fwd.hpp \ - /home/pblunsom/packages/include/boost/mem_fn.hpp \ - /home/pblunsom/packages/include/boost/bind/mem_fn.hpp \ - /home/pblunsom/packages/include/boost/get_pointer.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/memory.hpp \ - /home/pblunsom/packages/include/boost/bind/mem_fn_template.hpp \ - /home/pblunsom/packages/include/boost/bind/mem_fn_cc.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/rem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/enum_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_params.hpp \ - /home/pblunsom/packages/include/boost/detail/no_exceptions_support.hpp \ - /home/pblunsom/packages/include/boost/lexical_cast.hpp \ - /home/pblunsom/packages/include/boost/type_traits/make_unsigned.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_signed.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_unsigned.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_const.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_volatile.hpp \ - /home/pblunsom/packages/include/boost/call_traits.hpp \ - /home/pblunsom/packages/include/boost/detail/call_traits.hpp \ - /home/pblunsom/packages/include/boost/detail/lcast_precision.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_abstract.hpp \ - /home/pblunsom/packages/include/boost/program_options/detail/value_semantic.hpp \ - /home/pblunsom/packages/include/boost/function.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iterate.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/iterate.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/elem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/data.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/size.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot/slot.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot/detail/def.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/detail/iter/forward1.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot/detail/shared.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp \ - /home/pblunsom/packages/include/boost/function/detail/function_iterate.hpp \ - /home/pblunsom/packages/include/boost/shared_ptr.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/shared_ptr.hpp \ - /home/pblunsom/packages/include/boost/checked_delete.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/shared_count.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/bad_weak_ptr.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_counted_base.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_has_sync.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_counted_impl.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_convertible.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/spinlock_pool.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/spinlock.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/spinlock_sync.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/yield_k.hpp \ - /home/pblunsom/packages/include/boost/memory_order.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/operator_bool.hpp \ - /home/pblunsom/packages/include/boost/program_options/positional_options.hpp \ - /home/pblunsom/packages/include/boost/program_options/detail/parsers.hpp \ - /home/pblunsom/packages/include/boost/program_options/detail/convert.hpp \ - /home/pblunsom/packages/include/boost/program_options/variables_map.hpp \ - /home/pblunsom/packages/include/boost/scoped_ptr.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/scoped_ptr.hpp \ - /home/pblunsom/packages/include/boost/mpi/environment.hpp \ - /home/pblunsom/packages/include/boost/mpi/config.hpp \ - /home/pblunsom/packages/include/mpi.h \ - /home/pblunsom/packages/include/mpio.h \ - /home/pblunsom/packages/include/mpi.h \ - /home/pblunsom/packages/include/mpicxx.h \ - /home/pblunsom/packages/include/boost/noncopyable.hpp \ - /home/pblunsom/packages/include/boost/optional.hpp \ - /home/pblunsom/packages/include/boost/optional/optional.hpp \ - /home/pblunsom/packages/include/boost/type.hpp \ - /home/pblunsom/packages/include/boost/type_traits/type_with_alignment.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/for_each_i.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/for.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/detail/for.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/to_list.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/transform.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/append.hpp \ - /home/pblunsom/packages/include/boost/mpl/not.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/nested_type_wknd.hpp \ - /home/pblunsom/packages/include/boost/detail/reference_content.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_nothrow_copy.hpp \ - /home/pblunsom/packages/include/boost/mpl/void.hpp \ - /home/pblunsom/packages/include/boost/none.hpp \ - /home/pblunsom/packages/include/boost/none_t.hpp \ - /home/pblunsom/packages/include/boost/utility/compare_pointees.hpp \ - /home/pblunsom/packages/include/boost/optional/optional_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpi/communicator.hpp \ - /home/pblunsom/packages/include/boost/mpi/exception.hpp \ - /home/pblunsom/packages/include/boost/mpi/datatype.hpp \ - /home/pblunsom/packages/include/boost/mpi/datatype_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/or.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/use_preprocessed.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/include_preprocessed.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/compiler.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/stringize.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/or.hpp \ - /home/pblunsom/packages/include/boost/mpl/and.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/and.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/mpi_datatype_cache.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/mpi_datatype_oarchive.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/oserializer.hpp \ - /home/pblunsom/packages/include/boost/mpl/eval_if.hpp \ - /home/pblunsom/packages/include/boost/mpl/equal_to.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/comparison_op.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/numeric_op.hpp \ - /home/pblunsom/packages/include/boost/mpl/numeric_cast.hpp \ - /home/pblunsom/packages/include/boost/mpl/apply_wrap.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/has_apply.hpp \ - /home/pblunsom/packages/include/boost/mpl/has_xxx.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/type_wrapper.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/yes_no.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/arrays.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/has_xxx.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/msvc_typename.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/has_apply.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/msvc_never_true.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp \ - /home/pblunsom/packages/include/boost/mpl/tag.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/has_tag.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/numeric_cast_utils.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/forwarding.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/msvc_eti_base.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/is_msvc_eti_arg.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp \ - /home/pblunsom/packages/include/boost/mpl/greater_equal.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp \ - /home/pblunsom/packages/include/boost/mpl/identity.hpp \ - /home/pblunsom/packages/include/boost/serialization/extended_type_info_typeid.hpp \ - /home/pblunsom/packages/include/boost/serialization/static_warning.hpp \ - /home/pblunsom/packages/include/boost/mpl/print.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_polymorphic.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_const.hpp \ - /home/pblunsom/packages/include/boost/serialization/singleton.hpp \ - /home/pblunsom/packages/include/boost/serialization/force_include.hpp \ - /home/pblunsom/packages/include/boost/serialization/extended_type_info.hpp \ - /home/pblunsom/packages/include/boost/serialization/config.hpp \ - /home/pblunsom/packages/include/boost/config/abi_prefix.hpp \ - /home/pblunsom/packages/include/boost/config/abi_suffix.hpp \ - /home/pblunsom/packages/include/boost/serialization/factory.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/greater.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/less.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/less_equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/not.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/not_equal.hpp \ - /home/pblunsom/packages/include/boost/serialization/access.hpp \ - /home/pblunsom/packages/include/boost/serialization/pfto.hpp \ - /home/pblunsom/packages/include/boost/serialization/throw_exception.hpp \ - /home/pblunsom/packages/include/boost/serialization/smart_cast.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_base_and_derived.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_pointer.hpp \ - /home/pblunsom/packages/include/boost/serialization/assume_abstract.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_extent.hpp \ - /home/pblunsom/packages/include/boost/serialization/serialization.hpp \ - /home/pblunsom/packages/include/boost/serialization/strong_typedef.hpp \ - /home/pblunsom/packages/include/boost/operators.hpp \ - /home/pblunsom/packages/include/boost/iterator.hpp \ - /home/pblunsom/packages/include/boost/serialization/nvp.hpp \ - /home/pblunsom/packages/include/boost/serialization/level.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_fundamental.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_class.hpp \ - /home/pblunsom/packages/include/boost/serialization/level_enum.hpp \ - /home/pblunsom/packages/include/boost/serialization/tracking.hpp \ - /home/pblunsom/packages/include/boost/mpl/greater.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/greater.hpp \ - /home/pblunsom/packages/include/boost/serialization/tracking_enum.hpp \ - /home/pblunsom/packages/include/boost/serialization/type_info_implementation.hpp \ - /home/pblunsom/packages/include/boost/serialization/traits.hpp \ - /home/pblunsom/packages/include/boost/serialization/split_member.hpp \ - /home/pblunsom/packages/include/boost/serialization/base_object.hpp \ - /home/pblunsom/packages/include/boost/serialization/void_cast_fwd.hpp \ - /home/pblunsom/packages/include/boost/serialization/wrapper.hpp \ - /home/pblunsom/packages/include/boost/serialization/version.hpp \ - /home/pblunsom/packages/include/boost/mpl/assert.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/pp_counter.hpp \ - /home/pblunsom/packages/include/boost/mpl/less.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/less.hpp \ - /home/pblunsom/packages/include/boost/mpl/comparison.hpp \ - /home/pblunsom/packages/include/boost/mpl/not_equal_to.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp \ - /home/pblunsom/packages/include/boost/mpl/less_equal.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp \ - /home/pblunsom/packages/include/boost/serialization/void_cast.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_virtual_base_of.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_base_of.hpp \ - /home/pblunsom/packages/include/boost/serialization/array.hpp \ - /home/pblunsom/packages/include/boost/mpl/always.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/arity_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/apply.hpp \ - /home/pblunsom/packages/include/boost/mpl/apply_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/placeholders.hpp \ - /home/pblunsom/packages/include/boost/mpl/arg.hpp \ - /home/pblunsom/packages/include/boost/mpl/arg_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na_assert.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/arg_typedef.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp \ - /home/pblunsom/packages/include/boost/mpl/lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/bind.hpp \ - /home/pblunsom/packages/include/boost/mpl/bind_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/bind.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/next.hpp \ - /home/pblunsom/packages/include/boost/mpl/next_prior.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/common_name_wknd.hpp \ - /home/pblunsom/packages/include/boost/mpl/protect.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/full_lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/quote.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/has_type.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/bcc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/template_arity.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp \ - /home/pblunsom/packages/include/boost/array.hpp \ - /home/pblunsom/packages/include/boost/swap.hpp \ - /home/pblunsom/packages/include/boost/utility/swap.hpp \ - /home/pblunsom/packages/include/boost/detail/iterator.hpp \ - /home/pblunsom/packages/include/boost/serialization/collection_size_type.hpp \ - /home/pblunsom/packages/include/boost/archive/archive_exception.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/decl.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/abi_prefix.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/abi_suffix.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/basic_oarchive.hpp \ - /home/pblunsom/packages/include/boost/archive/basic_archive.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/auto_link_archive.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/basic_oserializer.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/basic_serializer.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/basic_pointer_oserializer.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/archive_serializer_map.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/check.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/ignore_skeleton_oarchive.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/common_oarchive.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/interface_oarchive.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/mpi_datatype_primitive.hpp \ - /home/pblunsom/packages/include/boost/serialization/detail/get_data.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/register_archive.hpp \ - /home/pblunsom/packages/include/boost/mpi/packed_oarchive.hpp \ - /home/pblunsom/packages/include/boost/archive/basic_binary_oarchive.hpp \ - /home/pblunsom/packages/include/boost/serialization/string.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/packed_oprimitive.hpp \ - /home/pblunsom/packages/include/boost/mpi/allocator.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/binary_buffer_oprimitive.hpp \ - /home/pblunsom/packages/include/boost/serialization/is_bitwise_serializable.hpp \ - /home/pblunsom/packages/include/boost/mpi/packed_iarchive.hpp \ - /home/pblunsom/packages/include/boost/archive/basic_binary_iarchive.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/common_iarchive.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/basic_iarchive.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/basic_pointer_iserializer.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/interface_iarchive.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/iserializer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_new_operator.hpp \ - /home/pblunsom/packages/include/boost/archive/detail/basic_iserializer.hpp \ - /home/pblunsom/packages/include/boost/archive/shared_ptr_helper.hpp \ - /home/pblunsom/packages/include/boost/serialization/shared_ptr_132.hpp \ - /home/pblunsom/packages/include/boost/serialization/split_free.hpp \ - /home/pblunsom/packages/include/boost/serialization/detail/shared_ptr_132.hpp \ - /home/pblunsom/packages/include/boost/serialization/detail/shared_count_132.hpp \ - /home/pblunsom/packages/include/boost/detail/lightweight_mutex.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/lightweight_mutex.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/lwm_pthreads.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/packed_iprimitive.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/binary_buffer_iprimitive.hpp \ - /home/pblunsom/packages/include/boost/mpi/skeleton_and_content_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/point_to_point.hpp \ - /home/pblunsom/packages/include/boost/mpi/status.hpp \ - /home/pblunsom/packages/include/boost/mpi/request.hpp mpi-pyp-topics.hh \ - /home/pblunsom/packages/include/boost/ptr_container/ptr_vector.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/ptr_sequence_adapter.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/reversible_ptr_container.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/throw_exception.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/scoped_deleter.hpp \ - /home/pblunsom/packages/include/boost/scoped_array.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/scoped_array.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/static_move_ptr.hpp \ - /home/pblunsom/packages/include/boost/compressed_pair.hpp \ - /home/pblunsom/packages/include/boost/detail/compressed_pair.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_empty.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_convertible.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_reference.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/default_deleter.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_bounds.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/is_convertible.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/move.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/exception.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/clone_allocator.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/nullable.hpp \ - /home/pblunsom/packages/include/boost/range/functions.hpp \ - /home/pblunsom/packages/include/boost/range/begin.hpp \ - /home/pblunsom/packages/include/boost/range/config.hpp \ - /home/pblunsom/packages/include/boost/range/iterator.hpp \ - /home/pblunsom/packages/include/boost/range/mutable_iterator.hpp \ - /home/pblunsom/packages/include/boost/range/detail/extract_optional_type.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_traits.hpp \ - /home/pblunsom/packages/include/boost/range/const_iterator.hpp \ - /home/pblunsom/packages/include/boost/range/end.hpp \ - /home/pblunsom/packages/include/boost/range/detail/implementation_help.hpp \ - /home/pblunsom/packages/include/boost/range/detail/common.hpp \ - /home/pblunsom/packages/include/boost/range/detail/sfinae.hpp \ - /home/pblunsom/packages/include/boost/range/size.hpp \ - /home/pblunsom/packages/include/boost/range/difference_type.hpp \ - /home/pblunsom/packages/include/boost/range/distance.hpp \ - /home/pblunsom/packages/include/boost/range/empty.hpp \ - /home/pblunsom/packages/include/boost/range/rbegin.hpp \ - /home/pblunsom/packages/include/boost/range/reverse_iterator.hpp \ - /home/pblunsom/packages/include/boost/iterator/reverse_iterator.hpp \ - /home/pblunsom/packages/include/boost/utility.hpp \ - /home/pblunsom/packages/include/boost/utility/base_from_member.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_binary_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/repeat_from_to.hpp \ - /home/pblunsom/packages/include/boost/utility/binary.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/deduce_d.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/cat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/fold_left.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/seq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/elem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/size.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/transform.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/mod.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/detail/div_base.hpp \ - /home/pblunsom/packages/include/boost/next_prior.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_adaptor.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_categories.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/config_def.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/config_undef.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_facade.hpp \ - /home/pblunsom/packages/include/boost/iterator/interoperable.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/facade_iterator_category.hpp \ - /home/pblunsom/packages/include/boost/detail/indirect_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_function.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/false_result.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/is_function_ptr_helper.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/enable_if.hpp \ - /home/pblunsom/packages/include/boost/implicit_cast.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_pointer.hpp \ - /home/pblunsom/packages/include/boost/range/rend.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/indirect_fun.hpp \ - /home/pblunsom/packages/include/boost/utility/result_of.hpp \ - /home/pblunsom/packages/include/boost/preprocessor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/library.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/div.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/mul.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/insert.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/push_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/pop_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/deduce_z.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/pop_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/push_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/remove.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/replace.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/greater_equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/config/limits.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/expr_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug/assert.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug/line.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/apply.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/is_unary.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/expand.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/intercept.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/local.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/self.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/at.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/rest_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/cat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/filter.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/first_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/for_each.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/for_each_product.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/to_tuple.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/size.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitnor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitxor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/nor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/or.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/xor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/paren.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/paren_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/deduce_r.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_shifted.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_shifted_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_trailing.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_trailing_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/selection.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/selection/max.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/selection/min.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/filter.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/first_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/detail/split.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/fold_right.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/for_each.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/for_each_i.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/for_each_product.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/insert.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/rest_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/pop_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/pop_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/push_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/push_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/remove.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/replace.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/subseq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/to_array.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/to_tuple.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/to_seq.hpp \ - /home/pblunsom/packages/include/boost/utility/detail/result_of_iterate.hpp \ - /home/pblunsom/packages/include/boost/pointee.hpp \ - /home/pblunsom/packages/include/boost/detail/is_incrementable.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/void_ptr_iterator.hpp \ - /home/pblunsom/packages/include/boost/random/uniform_real.hpp \ - /home/pblunsom/packages/include/boost/random/detail/config.hpp \ - /home/pblunsom/packages/include/boost/random/variate_generator.hpp \ - /home/pblunsom/packages/include/boost/random/uniform_01.hpp \ - /home/pblunsom/packages/include/boost/random/detail/pass_through_engine.hpp \ - /home/pblunsom/packages/include/boost/random/detail/ptr_helper.hpp \ - /home/pblunsom/packages/include/boost/random/detail/disable_warnings.hpp \ - /home/pblunsom/packages/include/boost/random/detail/enable_warnings.hpp \ - /home/pblunsom/packages/include/boost/random/detail/uniform_int_float.hpp \ - /home/pblunsom/packages/include/boost/random/mersenne_twister.hpp \ - /home/pblunsom/packages/include/boost/random/linear_congruential.hpp \ - /home/pblunsom/packages/include/boost/random/detail/const_mod.hpp \ - /home/pblunsom/packages/include/boost/random/detail/seed.hpp \ - /home/pblunsom/packages/include/boost/random/inversive_congruential.hpp \ - /home/pblunsom/packages/include/boost/random/lagged_fibonacci.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/cmath.hpp mpi-pyp.hh \ - /home/pblunsom/packages/include/boost/tuple/tuple.hpp \ - /home/pblunsom/packages/include/boost/tuple/detail/tuple_basic.hpp \ - /home/pblunsom/packages/include/boost/type_traits/cv_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_cv.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_volatile.hpp \ - /home/pblunsom/packages/include/boost/type_traits/function_traits.hpp \ - /home/pblunsom/packages/include/boost/serialization/map.hpp \ - /home/pblunsom/packages/include/boost/serialization/utility.hpp \ - /home/pblunsom/packages/include/boost/serialization/collections_save_imp.hpp \ - /home/pblunsom/packages/include/boost/serialization/collections_load_imp.hpp \ - /home/pblunsom/packages/include/boost/serialization/detail/stack_constructor.hpp \ - /home/pblunsom/packages/include/boost/aligned_storage.hpp \ - /home/pblunsom/packages/include/boost/mpi.hpp \ - /home/pblunsom/packages/include/boost/mpi/collectives.hpp \ - /home/pblunsom/packages/include/boost/mpi/collectives/all_gather.hpp \ - /home/pblunsom/packages/include/boost/serialization/vector.hpp \ - /home/pblunsom/packages/include/boost/serialization/collection_traits.hpp \ - /home/pblunsom/packages/include/boost/mpi/collectives/broadcast.hpp \ - /home/pblunsom/packages/include/boost/mpi/collectives_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpi/collectives/gather.hpp \ - /home/pblunsom/packages/include/boost/mpi/collectives/all_reduce.hpp \ - /home/pblunsom/packages/include/boost/mpi/collectives/reduce.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/computation_tree.hpp \ - /home/pblunsom/packages/include/boost/mpi/operations.hpp \ - /home/pblunsom/packages/include/boost/mpi/collectives/all_to_all.hpp \ - /home/pblunsom/packages/include/boost/mpi/collectives/scatter.hpp \ - /home/pblunsom/packages/include/boost/mpi/collectives/scan.hpp \ - /home/pblunsom/packages/include/boost/mpi/graph_communicator.hpp \ - /home/pblunsom/packages/include/boost/graph/graph_traits.hpp \ - /home/pblunsom/packages/include/boost/pending/property.hpp \ - /home/pblunsom/packages/include/boost/pending/detail/property.hpp \ - /home/pblunsom/packages/include/boost/type_traits/same_traits.hpp \ - /home/pblunsom/packages/include/boost/graph/properties.hpp \ - /home/pblunsom/packages/include/boost/property_map/property_map.hpp \ - /home/pblunsom/packages/include/boost/pending/cstddef.hpp \ - /home/pblunsom/packages/include/boost/concept_check.hpp \ - /home/pblunsom/packages/include/boost/concept/assert.hpp \ - /home/pblunsom/packages/include/boost/concept/detail/general.hpp \ - /home/pblunsom/packages/include/boost/concept/detail/has_constraints.hpp \ - /home/pblunsom/packages/include/boost/type_traits/conversion_traits.hpp \ - /home/pblunsom/packages/include/boost/concept/usage.hpp \ - /home/pblunsom/packages/include/boost/concept/detail/concept_def.hpp \ - /home/pblunsom/packages/include/boost/concept/detail/concept_undef.hpp \ - /home/pblunsom/packages/include/boost/concept_archetype.hpp \ - /home/pblunsom/packages/include/boost/property_map/vector_property_map.hpp \ - /home/pblunsom/packages/include/boost/graph/property_maps/constant_property_map.hpp \ - /home/pblunsom/packages/include/boost/graph/property_maps/null_property_map.hpp \ - /home/pblunsom/packages/include/boost/iterator/counting_iterator.hpp \ - /home/pblunsom/packages/include/boost/detail/numeric_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_nothrow_assign.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_trivial_assign.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_nothrow_constructor.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_trivial_constructor.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_nothrow_destructor.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_virtual_destructor.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_compound.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_floating_point.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_member_object_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_object.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_stateless.hpp \ - /home/pblunsom/packages/include/boost/type_traits/rank.hpp \ - /home/pblunsom/packages/include/boost/type_traits/extent.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_all_extents.hpp \ - /home/pblunsom/packages/include/boost/type_traits/aligned_storage.hpp \ - /home/pblunsom/packages/include/boost/type_traits/floating_point_promotion.hpp \ - /home/pblunsom/packages/include/boost/type_traits/integral_promotion.hpp \ - /home/pblunsom/packages/include/boost/type_traits/promote.hpp \ - /home/pblunsom/packages/include/boost/type_traits/make_signed.hpp \ - /home/pblunsom/packages/include/boost/type_traits/decay.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_complex.hpp \ - /home/pblunsom/packages/include/boost/detail/select_type.hpp \ - /home/pblunsom/packages/include/boost/graph/iteration_macros.hpp \ - /home/pblunsom/packages/include/boost/shared_array.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/shared_array.hpp \ - /home/pblunsom/packages/include/boost/mpi/group.hpp \ - /home/pblunsom/packages/include/boost/mpi/intercommunicator.hpp \ - /home/pblunsom/packages/include/boost/mpi/nonblocking.hpp \ - /home/pblunsom/packages/include/boost/mpi/skeleton_and_content.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/forward_skeleton_iarchive.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/forward_skeleton_oarchive.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/ignore_iprimitive.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/ignore_oprimitive.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/content_oarchive.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/broadcast_sc.hpp \ - /home/pblunsom/packages/include/boost/mpi/detail/communicator_sc.hpp \ - /home/pblunsom/packages/include/boost/mpi/timer.hpp pyp.hh \ - slice-sampler.h log_add.h mt19937ar.h corpus.hh mpi-corpus.hh \ - contexts_corpus.hh contexts_lexer.h ../../../decoder/dict.h \ - /home/pblunsom/packages/include/boost/functional/hash.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/hash.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/hash_fwd.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/detail/hash_float.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/detail/float_functions.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/detail/limits.hpp \ - /home/pblunsom/packages/include/boost/integer/static_log2.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/detail/hash_float_generic.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/extensions.hpp \ - /home/pblunsom/packages/include/boost/detail/container_fwd.hpp \ - ../../../decoder/wordid.h gzstream.hh -pyp-topics.o: pyp-topics.cc timing.h clock_gettime_stub.c pyp-topics.hh \ - /home/pblunsom/packages/include/boost/ptr_container/ptr_vector.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/ptr_sequence_adapter.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/reversible_ptr_container.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/throw_exception.hpp \ - /home/pblunsom/packages/include/boost/assert.hpp \ - /home/pblunsom/packages/include/boost/config.hpp \ - /home/pblunsom/packages/include/boost/config/user.hpp \ - /home/pblunsom/packages/include/boost/config/select_compiler_config.hpp \ - /home/pblunsom/packages/include/boost/config/compiler/gcc.hpp \ - /home/pblunsom/packages/include/boost/config/select_stdlib_config.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/utility.hpp \ - /home/pblunsom/packages/include/boost/config/stdlib/libstdcpp3.hpp \ - /home/pblunsom/packages/include/boost/config/select_platform_config.hpp \ - /home/pblunsom/packages/include/boost/config/platform/linux.hpp \ - /home/pblunsom/packages/include/boost/config/posix_features.hpp \ - /home/pblunsom/packages/include/boost/config/suffix.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/scoped_deleter.hpp \ - /home/pblunsom/packages/include/boost/scoped_array.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/scoped_array.hpp \ - /home/pblunsom/packages/include/boost/checked_delete.hpp \ - /home/pblunsom/packages/include/boost/detail/workaround.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/operator_bool.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/static_move_ptr.hpp \ - /home/pblunsom/packages/include/boost/compressed_pair.hpp \ - /home/pblunsom/packages/include/boost/detail/compressed_pair.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_cv.hpp \ - /home/pblunsom/packages/include/boost/type_traits/broken_compiler_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/lambda_support.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/ttp.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/msvc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/gcc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/workaround.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/ctps.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/cv_traits_impl.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/type_trait_def.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/template_arity_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/int.hpp \ - /home/pblunsom/packages/include/boost/mpl/int_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/adl_barrier.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/adl.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/intel.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/nttp_decl.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/nttp.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/integral_wrapper.hpp \ - /home/pblunsom/packages/include/boost/mpl/integral_c_tag.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/static_constant.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/static_cast.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/cat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/config/config.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/template_arity_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessor/params.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/preprocessor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comma_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/comma_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/iif.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bool.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/empty.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/comma.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repeat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/repeat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug/error.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/auto_rec.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/eat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/inc.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/inc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/overload_resolution.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/type_trait_undef.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_empty.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_convertible.hpp \ - /home/pblunsom/packages/include/boost/type_traits/intrinsics.hpp \ - /home/pblunsom/packages/include/boost/type_traits/config.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_same.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/bool_trait_def.hpp \ - /home/pblunsom/packages/include/boost/type_traits/integral_constant.hpp \ - /home/pblunsom/packages/include/boost/mpl/bool.hpp \ - /home/pblunsom/packages/include/boost/mpl/bool_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/integral_c.hpp \ - /home/pblunsom/packages/include/boost/mpl/integral_c_fwd.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/bool_trait_undef.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_reference.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_volatile.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/yes_no_type.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_array.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_reference.hpp \ - /home/pblunsom/packages/include/boost/type_traits/ice.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_or.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_and.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_not.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_eq.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_arithmetic.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_integral.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_float.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_void.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_abstract.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_class.hpp \ - /home/pblunsom/packages/include/boost/call_traits.hpp \ - /home/pblunsom/packages/include/boost/detail/call_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_member_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_member_function_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/default_deleter.hpp \ - /home/pblunsom/packages/include/boost/mpl/if.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/value_wknd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/integral.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/eti.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/lambda_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/void_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/lambda_arity_param.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/arity.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/dtp.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessor/enum.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp \ - /home/pblunsom/packages/include/boost/mpl/limits/arity.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/and.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitand.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/identity.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/identity.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/empty.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/add.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/dec.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/while.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/fold_left.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/detail/fold_left.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/expr_iif.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/adt.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/is_binary.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/check.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/compl.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/fold_right.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/detail/fold_right.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/detail/while.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/elem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/sub.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_bounds.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/is_convertible.hpp \ - /home/pblunsom/packages/include/boost/mpl/and.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/use_preprocessed.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/nested_type_wknd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/include_preprocessed.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/compiler.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/stringize.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/and.hpp \ - /home/pblunsom/packages/include/boost/mpl/identity.hpp \ - /home/pblunsom/packages/include/boost/utility/enable_if.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/move.hpp \ - /home/pblunsom/packages/include/boost/static_assert.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/exception.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/clone_allocator.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/nullable.hpp \ - /home/pblunsom/packages/include/boost/mpl/eval_if.hpp \ - /home/pblunsom/packages/include/boost/range/functions.hpp \ - /home/pblunsom/packages/include/boost/range/begin.hpp \ - /home/pblunsom/packages/include/boost/range/config.hpp \ - /home/pblunsom/packages/include/boost/range/iterator.hpp \ - /home/pblunsom/packages/include/boost/range/mutable_iterator.hpp \ - /home/pblunsom/packages/include/boost/range/detail/extract_optional_type.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_traits.hpp \ - /home/pblunsom/packages/include/boost/detail/iterator.hpp \ - /home/pblunsom/packages/include/boost/range/const_iterator.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_const.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_const.hpp \ - /home/pblunsom/packages/include/boost/range/end.hpp \ - /home/pblunsom/packages/include/boost/range/detail/implementation_help.hpp \ - /home/pblunsom/packages/include/boost/range/detail/common.hpp \ - /home/pblunsom/packages/include/boost/range/detail/sfinae.hpp \ - /home/pblunsom/packages/include/boost/range/size.hpp \ - /home/pblunsom/packages/include/boost/range/difference_type.hpp \ - /home/pblunsom/packages/include/boost/range/distance.hpp \ - /home/pblunsom/packages/include/boost/range/empty.hpp \ - /home/pblunsom/packages/include/boost/range/rbegin.hpp \ - /home/pblunsom/packages/include/boost/range/reverse_iterator.hpp \ - /home/pblunsom/packages/include/boost/iterator/reverse_iterator.hpp \ - /home/pblunsom/packages/include/boost/iterator.hpp \ - /home/pblunsom/packages/include/boost/utility.hpp \ - /home/pblunsom/packages/include/boost/utility/addressof.hpp \ - /home/pblunsom/packages/include/boost/utility/base_from_member.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_binary_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/rem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/repeat_from_to.hpp \ - /home/pblunsom/packages/include/boost/utility/binary.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/deduce_d.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/cat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/fold_left.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/seq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/elem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/size.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/transform.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/mod.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/detail/div_base.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/less_equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/not.hpp \ - /home/pblunsom/packages/include/boost/next_prior.hpp \ - /home/pblunsom/packages/include/boost/noncopyable.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_adaptor.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_categories.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/config_def.hpp \ - /home/pblunsom/packages/include/boost/mpl/placeholders.hpp \ - /home/pblunsom/packages/include/boost/mpl/arg.hpp \ - /home/pblunsom/packages/include/boost/mpl/arg_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na_assert.hpp \ - /home/pblunsom/packages/include/boost/mpl/assert.hpp \ - /home/pblunsom/packages/include/boost/mpl/not.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/yes_no.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/arrays.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/pp_counter.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/arity_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/arg_typedef.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/config_undef.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_facade.hpp \ - /home/pblunsom/packages/include/boost/iterator/interoperable.hpp \ - /home/pblunsom/packages/include/boost/mpl/or.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/or.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/facade_iterator_category.hpp \ - /home/pblunsom/packages/include/boost/detail/indirect_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_function.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/false_result.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/is_function_ptr_helper.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_reference.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_pointer.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/enable_if.hpp \ - /home/pblunsom/packages/include/boost/implicit_cast.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_const.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_pod.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_scalar.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_enum.hpp \ - /home/pblunsom/packages/include/boost/mpl/always.hpp \ - /home/pblunsom/packages/include/boost/mpl/apply.hpp \ - /home/pblunsom/packages/include/boost/mpl/apply_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/apply_wrap.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/has_apply.hpp \ - /home/pblunsom/packages/include/boost/mpl/has_xxx.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/type_wrapper.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/has_xxx.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/msvc_typename.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/has_apply.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/msvc_never_true.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp \ - /home/pblunsom/packages/include/boost/mpl/lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/bind.hpp \ - /home/pblunsom/packages/include/boost/mpl/bind_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/bind.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/next.hpp \ - /home/pblunsom/packages/include/boost/mpl/next_prior.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/common_name_wknd.hpp \ - /home/pblunsom/packages/include/boost/mpl/protect.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/full_lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/quote.hpp \ - /home/pblunsom/packages/include/boost/mpl/void.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/has_type.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/bcc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/template_arity.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp \ - /home/pblunsom/packages/include/boost/range/rend.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/indirect_fun.hpp \ - /home/pblunsom/packages/include/boost/utility/result_of.hpp \ - /home/pblunsom/packages/include/boost/type.hpp \ - /home/pblunsom/packages/include/boost/preprocessor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/library.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/div.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/mul.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/data.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/elem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/size.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/insert.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/push_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/not_equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/pop_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/deduce_z.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/pop_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/push_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/remove.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/replace.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/greater.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/less.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/greater_equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/config/limits.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/expr_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug/assert.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug/line.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/iterate.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot/slot.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot/detail/def.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/apply.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/is_unary.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/expand.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/intercept.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/local.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/self.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/append.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/at.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/rest_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/cat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/for_each_i.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/for.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/detail/for.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/filter.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/first_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/for_each.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/for_each_product.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/to_tuple.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/to_list.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/size.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/transform.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitnor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitxor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/nor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/or.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/xor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/paren.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/paren_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/deduce_r.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_shifted.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_shifted_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_trailing.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_trailing_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/selection.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/selection/max.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/selection/min.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/filter.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/first_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/detail/split.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/fold_right.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/for_each.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/for_each_i.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/for_each_product.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/insert.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/rest_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/pop_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/pop_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/push_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/push_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/remove.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/replace.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/subseq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/to_array.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/to_tuple.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/to_seq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/detail/iter/forward1.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot/detail/shared.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp \ - /home/pblunsom/packages/include/boost/utility/detail/result_of_iterate.hpp \ - /home/pblunsom/packages/include/boost/pointee.hpp \ - /home/pblunsom/packages/include/boost/detail/is_incrementable.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/void_ptr_iterator.hpp \ - /home/pblunsom/packages/include/boost/random/uniform_real.hpp \ - /home/pblunsom/packages/include/boost/limits.hpp \ - /home/pblunsom/packages/include/boost/random/detail/config.hpp \ - /home/pblunsom/packages/include/boost/random/variate_generator.hpp \ - /home/pblunsom/packages/include/boost/random/uniform_01.hpp \ - /home/pblunsom/packages/include/boost/random/detail/pass_through_engine.hpp \ - /home/pblunsom/packages/include/boost/random/detail/ptr_helper.hpp \ - /home/pblunsom/packages/include/boost/random/detail/disable_warnings.hpp \ - /home/pblunsom/packages/include/boost/random/detail/enable_warnings.hpp \ - /home/pblunsom/packages/include/boost/random/detail/uniform_int_float.hpp \ - /home/pblunsom/packages/include/boost/random/mersenne_twister.hpp \ - /home/pblunsom/packages/include/boost/integer_traits.hpp \ - /home/pblunsom/packages/include/boost/cstdint.hpp \ - /home/pblunsom/packages/include/boost/random/linear_congruential.hpp \ - /home/pblunsom/packages/include/boost/random/detail/const_mod.hpp \ - /home/pblunsom/packages/include/boost/random/detail/seed.hpp pyp.hh \ - slice-sampler.h log_add.h mt19937ar.h corpus.hh \ - /home/pblunsom/packages/include/boost/shared_ptr.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/shared_ptr.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/memory.hpp \ - /home/pblunsom/packages/include/boost/throw_exception.hpp \ - /home/pblunsom/packages/include/boost/exception/detail/attribute_noreturn.hpp \ - /home/pblunsom/packages/include/boost/exception/exception.hpp \ - /home/pblunsom/packages/include/boost/current_function.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/shared_count.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/bad_weak_ptr.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_counted_base.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_has_sync.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp \ - /home/pblunsom/packages/include/boost/detail/sp_typeinfo.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_counted_impl.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_convertible.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/spinlock_pool.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/spinlock.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/spinlock_sync.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/yield_k.hpp \ - /home/pblunsom/packages/include/boost/memory_order.hpp workers.hh \ - /home/pblunsom/packages/include/boost/bind.hpp \ - /home/pblunsom/packages/include/boost/bind/bind.hpp \ - /home/pblunsom/packages/include/boost/ref.hpp \ - /home/pblunsom/packages/include/boost/mem_fn.hpp \ - /home/pblunsom/packages/include/boost/bind/mem_fn.hpp \ - /home/pblunsom/packages/include/boost/get_pointer.hpp \ - /home/pblunsom/packages/include/boost/bind/mem_fn_template.hpp \ - /home/pblunsom/packages/include/boost/bind/mem_fn_cc.hpp \ - /home/pblunsom/packages/include/boost/is_placeholder.hpp \ - /home/pblunsom/packages/include/boost/bind/arg.hpp \ - /home/pblunsom/packages/include/boost/visit_each.hpp \ - /home/pblunsom/packages/include/boost/bind/storage.hpp \ - /home/pblunsom/packages/include/boost/bind/bind_template.hpp \ - /home/pblunsom/packages/include/boost/bind/bind_cc.hpp \ - /home/pblunsom/packages/include/boost/bind/bind_mf_cc.hpp \ - /home/pblunsom/packages/include/boost/bind/bind_mf2_cc.hpp \ - /home/pblunsom/packages/include/boost/bind/placeholders.hpp \ - /home/pblunsom/packages/include/boost/function.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iterate.hpp \ - /home/pblunsom/packages/include/boost/function/detail/prologue.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/functional.hpp \ - /home/pblunsom/packages/include/boost/function/function_base.hpp \ - /home/pblunsom/packages/include/boost/integer.hpp \ - /home/pblunsom/packages/include/boost/integer_fwd.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_trivial_copy.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_trivial_destructor.hpp \ - /home/pblunsom/packages/include/boost/type_traits/composite_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_union.hpp \ - /home/pblunsom/packages/include/boost/type_traits/alignment_of.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/size_t_trait_def.hpp \ - /home/pblunsom/packages/include/boost/mpl/size_t.hpp \ - /home/pblunsom/packages/include/boost/mpl/size_t_fwd.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/size_t_trait_undef.hpp \ - /home/pblunsom/packages/include/boost/function_equal.hpp \ - /home/pblunsom/packages/include/boost/function/function_fwd.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/enum_params.hpp \ - /home/pblunsom/packages/include/boost/function/detail/function_iterate.hpp \ - /home/pblunsom/packages/include/boost/function/detail/maybe_include.hpp \ - /home/pblunsom/packages/include/boost/function/function_template.hpp \ - /home/pblunsom/packages/include/boost/detail/no_exceptions_support.hpp \ - /home/pblunsom/packages/include/boost/thread/thread.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/platform.hpp \ - /home/pblunsom/packages/include/boost/config/requires_threads.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/thread_data.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/config.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/platform.hpp \ - /home/pblunsom/packages/include/boost/config/auto_link.hpp \ - /home/pblunsom/packages/include/boost/thread/exceptions.hpp \ - /home/pblunsom/packages/include/boost/config/abi_prefix.hpp \ - /home/pblunsom/packages/include/boost/config/abi_suffix.hpp \ - /home/pblunsom/packages/include/boost/enable_shared_from_this.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/enable_shared_from_this.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/weak_ptr.hpp \ - /home/pblunsom/packages/include/boost/thread/mutex.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/mutex.hpp \ - /home/pblunsom/packages/include/boost/thread/locks.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/move.hpp \ - /home/pblunsom/packages/include/boost/thread/thread_time.hpp \ - /home/pblunsom/packages/include/boost/date_time/microsec_time_clock.hpp \ - /home/pblunsom/packages/include/boost/date_time/compiler_config.hpp \ - /home/pblunsom/packages/include/boost/date_time/locale_config.hpp \ - /home/pblunsom/packages/include/boost/date_time/c_time.hpp \ - /home/pblunsom/packages/include/boost/date_time/time_clock.hpp \ - /home/pblunsom/packages/include/boost/date_time/filetime_functions.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/posix_time_types.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/ptime.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/posix_time_system.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/posix_time_config.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/cmath.hpp \ - /home/pblunsom/packages/include/boost/date_time/time_duration.hpp \ - /home/pblunsom/packages/include/boost/operators.hpp \ - /home/pblunsom/packages/include/boost/date_time/time_defs.hpp \ - /home/pblunsom/packages/include/boost/date_time/special_defs.hpp \ - /home/pblunsom/packages/include/boost/date_time/time_resolution_traits.hpp \ - /home/pblunsom/packages/include/boost/date_time/int_adapter.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/gregorian_types.hpp \ - /home/pblunsom/packages/include/boost/date_time/date.hpp \ - /home/pblunsom/packages/include/boost/date_time/year_month_day.hpp \ - /home/pblunsom/packages/include/boost/date_time/period.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_calendar.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_weekday.hpp \ - /home/pblunsom/packages/include/boost/date_time/constrained_value.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_base_of.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_base_and_derived.hpp \ - /home/pblunsom/packages/include/boost/date_time/date_defs.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_day_of_year.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian_calendar.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian_calendar.ipp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_ymd.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_day.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_year.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_month.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_duration.hpp \ - /home/pblunsom/packages/include/boost/date_time/date_duration.hpp \ - /home/pblunsom/packages/include/boost/date_time/date_duration_types.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_duration_types.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_date.hpp \ - /home/pblunsom/packages/include/boost/date_time/adjust_functors.hpp \ - /home/pblunsom/packages/include/boost/date_time/wrapping_int.hpp \ - /home/pblunsom/packages/include/boost/date_time/date_generators.hpp \ - /home/pblunsom/packages/include/boost/date_time/date_clock_device.hpp \ - /home/pblunsom/packages/include/boost/date_time/date_iterator.hpp \ - /home/pblunsom/packages/include/boost/date_time/time_system_split.hpp \ - /home/pblunsom/packages/include/boost/date_time/time_system_counted.hpp \ - /home/pblunsom/packages/include/boost/date_time/time.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/date_duration_operators.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/posix_time_duration.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/time_period.hpp \ - /home/pblunsom/packages/include/boost/date_time/time_iterator.hpp \ - /home/pblunsom/packages/include/boost/date_time/dst_rules.hpp \ - /home/pblunsom/packages/include/boost/thread/xtime.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/conversion.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/conversion.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/timespec.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/pthread_mutex_scoped_lock.hpp \ - /home/pblunsom/packages/include/boost/optional.hpp \ - /home/pblunsom/packages/include/boost/optional/optional.hpp \ - /home/pblunsom/packages/include/boost/type_traits/type_with_alignment.hpp \ - /home/pblunsom/packages/include/boost/detail/reference_content.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_nothrow_copy.hpp \ - /home/pblunsom/packages/include/boost/none.hpp \ - /home/pblunsom/packages/include/boost/none_t.hpp \ - /home/pblunsom/packages/include/boost/utility/compare_pointees.hpp \ - /home/pblunsom/packages/include/boost/optional/optional_fwd.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/condition_variable_fwd.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/thread.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/thread_heap_alloc.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/thread_heap_alloc.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/thread_interruption.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/thread_group.hpp \ - /home/pblunsom/packages/include/boost/thread/shared_mutex.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/shared_mutex.hpp \ - /home/pblunsom/packages/include/boost/thread/condition_variable.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/condition_variable.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/thread_data.hpp \ - /home/pblunsom/packages/include/boost/thread/future.hpp \ - /home/pblunsom/packages/include/boost/exception_ptr.hpp \ - /home/pblunsom/packages/include/boost/exception/detail/exception_ptr.hpp \ - /home/pblunsom/packages/include/boost/scoped_ptr.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/scoped_ptr.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_fundamental.hpp \ - /home/pblunsom/packages/include/boost/thread/condition.hpp -train-contexts.o: train-contexts.cc \ - /home/pblunsom/packages/include/boost/program_options/parsers.hpp \ - /home/pblunsom/packages/include/boost/program_options/config.hpp \ - /home/pblunsom/packages/include/boost/config.hpp \ - /home/pblunsom/packages/include/boost/config/user.hpp \ - /home/pblunsom/packages/include/boost/config/select_compiler_config.hpp \ - /home/pblunsom/packages/include/boost/config/compiler/gcc.hpp \ - /home/pblunsom/packages/include/boost/config/select_stdlib_config.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/utility.hpp \ - /home/pblunsom/packages/include/boost/config/stdlib/libstdcpp3.hpp \ - /home/pblunsom/packages/include/boost/config/select_platform_config.hpp \ - /home/pblunsom/packages/include/boost/config/platform/linux.hpp \ - /home/pblunsom/packages/include/boost/config/posix_features.hpp \ - /home/pblunsom/packages/include/boost/config/suffix.hpp \ - /home/pblunsom/packages/include/boost/version.hpp \ - /home/pblunsom/packages/include/boost/config/auto_link.hpp \ - /home/pblunsom/packages/include/boost/program_options/option.hpp \ - /home/pblunsom/packages/include/boost/program_options/detail/cmdline.hpp \ - /home/pblunsom/packages/include/boost/program_options/errors.hpp \ - /home/pblunsom/packages/include/boost/program_options/cmdline.hpp \ - /home/pblunsom/packages/include/boost/program_options/options_description.hpp \ - /home/pblunsom/packages/include/boost/program_options/value_semantic.hpp \ - /home/pblunsom/packages/include/boost/any.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_reference.hpp \ - /home/pblunsom/packages/include/boost/type_traits/broken_compiler_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/lambda_support.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/ttp.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/msvc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/gcc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/workaround.hpp \ - /home/pblunsom/packages/include/boost/detail/workaround.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/ctps.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/type_trait_def.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/template_arity_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/int.hpp \ - /home/pblunsom/packages/include/boost/mpl/int_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/adl_barrier.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/adl.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/intel.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/nttp_decl.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/nttp.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/integral_wrapper.hpp \ - /home/pblunsom/packages/include/boost/mpl/integral_c_tag.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/static_constant.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/static_cast.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/cat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/config/config.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/template_arity_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessor/params.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/preprocessor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comma_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/comma_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/iif.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bool.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/empty.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/comma.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repeat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/repeat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug/error.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/auto_rec.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/eat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/inc.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/inc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/overload_resolution.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/type_trait_undef.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_reference.hpp \ - /home/pblunsom/packages/include/boost/type_traits/config.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/bool_trait_def.hpp \ - /home/pblunsom/packages/include/boost/type_traits/integral_constant.hpp \ - /home/pblunsom/packages/include/boost/mpl/bool.hpp \ - /home/pblunsom/packages/include/boost/mpl/bool_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/integral_c.hpp \ - /home/pblunsom/packages/include/boost/mpl/integral_c_fwd.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/bool_trait_undef.hpp \ - /home/pblunsom/packages/include/boost/throw_exception.hpp \ - /home/pblunsom/packages/include/boost/exception/detail/attribute_noreturn.hpp \ - /home/pblunsom/packages/include/boost/exception/exception.hpp \ - /home/pblunsom/packages/include/boost/current_function.hpp \ - /home/pblunsom/packages/include/boost/static_assert.hpp \ - /home/pblunsom/packages/include/boost/function/function1.hpp \ - /home/pblunsom/packages/include/boost/function/detail/maybe_include.hpp \ - /home/pblunsom/packages/include/boost/function/function_template.hpp \ - /home/pblunsom/packages/include/boost/function/detail/prologue.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/functional.hpp \ - /home/pblunsom/packages/include/boost/function/function_base.hpp \ - /home/pblunsom/packages/include/boost/detail/sp_typeinfo.hpp \ - /home/pblunsom/packages/include/boost/assert.hpp \ - /home/pblunsom/packages/include/boost/integer.hpp \ - /home/pblunsom/packages/include/boost/integer_fwd.hpp \ - /home/pblunsom/packages/include/boost/limits.hpp \ - /home/pblunsom/packages/include/boost/cstdint.hpp \ - /home/pblunsom/packages/include/boost/integer_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_trivial_copy.hpp \ - /home/pblunsom/packages/include/boost/type_traits/intrinsics.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_same.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_volatile.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/cv_traits_impl.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_pod.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_void.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_scalar.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_arithmetic.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_integral.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_float.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_or.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_enum.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_member_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_member_function_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_cv.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_and.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_not.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_trivial_destructor.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_const.hpp \ - /home/pblunsom/packages/include/boost/type_traits/composite_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_array.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_union.hpp \ - /home/pblunsom/packages/include/boost/type_traits/ice.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/yes_no_type.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_eq.hpp \ - /home/pblunsom/packages/include/boost/ref.hpp \ - /home/pblunsom/packages/include/boost/utility/addressof.hpp \ - /home/pblunsom/packages/include/boost/mpl/if.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/value_wknd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/integral.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/eti.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/lambda_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/void_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/lambda_arity_param.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/arity.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/dtp.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessor/enum.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp \ - /home/pblunsom/packages/include/boost/mpl/limits/arity.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/and.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitand.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/identity.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/identity.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/empty.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/add.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/dec.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/while.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/fold_left.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/detail/fold_left.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/expr_iif.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/adt.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/is_binary.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/check.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/compl.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/fold_right.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/detail/fold_right.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/detail/while.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/elem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/sub.hpp \ - /home/pblunsom/packages/include/boost/type_traits/alignment_of.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/size_t_trait_def.hpp \ - /home/pblunsom/packages/include/boost/mpl/size_t.hpp \ - /home/pblunsom/packages/include/boost/mpl/size_t_fwd.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/size_t_trait_undef.hpp \ - /home/pblunsom/packages/include/boost/utility/enable_if.hpp \ - /home/pblunsom/packages/include/boost/function_equal.hpp \ - /home/pblunsom/packages/include/boost/function/function_fwd.hpp \ - /home/pblunsom/packages/include/boost/mem_fn.hpp \ - /home/pblunsom/packages/include/boost/bind/mem_fn.hpp \ - /home/pblunsom/packages/include/boost/get_pointer.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/memory.hpp \ - /home/pblunsom/packages/include/boost/bind/mem_fn_template.hpp \ - /home/pblunsom/packages/include/boost/bind/mem_fn_cc.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/rem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/enum_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_params.hpp \ - /home/pblunsom/packages/include/boost/detail/no_exceptions_support.hpp \ - /home/pblunsom/packages/include/boost/lexical_cast.hpp \ - /home/pblunsom/packages/include/boost/type_traits/make_unsigned.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_signed.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_unsigned.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_const.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_volatile.hpp \ - /home/pblunsom/packages/include/boost/call_traits.hpp \ - /home/pblunsom/packages/include/boost/detail/call_traits.hpp \ - /home/pblunsom/packages/include/boost/detail/lcast_precision.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_abstract.hpp \ - /home/pblunsom/packages/include/boost/program_options/detail/value_semantic.hpp \ - /home/pblunsom/packages/include/boost/function.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iterate.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/iterate.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/elem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/data.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/size.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot/slot.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot/detail/def.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/detail/iter/forward1.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot/detail/shared.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp \ - /home/pblunsom/packages/include/boost/function/detail/function_iterate.hpp \ - /home/pblunsom/packages/include/boost/shared_ptr.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/shared_ptr.hpp \ - /home/pblunsom/packages/include/boost/checked_delete.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/shared_count.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/bad_weak_ptr.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_counted_base.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_has_sync.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_counted_impl.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_convertible.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/spinlock_pool.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/spinlock.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/spinlock_sync.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/yield_k.hpp \ - /home/pblunsom/packages/include/boost/memory_order.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/operator_bool.hpp \ - /home/pblunsom/packages/include/boost/program_options/positional_options.hpp \ - /home/pblunsom/packages/include/boost/program_options/detail/parsers.hpp \ - /home/pblunsom/packages/include/boost/program_options/detail/convert.hpp \ - /home/pblunsom/packages/include/boost/program_options/variables_map.hpp \ - /home/pblunsom/packages/include/boost/scoped_ptr.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/scoped_ptr.hpp \ - pyp-topics.hh \ - /home/pblunsom/packages/include/boost/ptr_container/ptr_vector.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/ptr_sequence_adapter.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/reversible_ptr_container.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/throw_exception.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/scoped_deleter.hpp \ - /home/pblunsom/packages/include/boost/scoped_array.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/scoped_array.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/static_move_ptr.hpp \ - /home/pblunsom/packages/include/boost/compressed_pair.hpp \ - /home/pblunsom/packages/include/boost/detail/compressed_pair.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_empty.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_convertible.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_reference.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_class.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/default_deleter.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_bounds.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/is_convertible.hpp \ - /home/pblunsom/packages/include/boost/mpl/and.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/use_preprocessed.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/nested_type_wknd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/include_preprocessed.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/compiler.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/stringize.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/and.hpp \ - /home/pblunsom/packages/include/boost/mpl/identity.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/move.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/exception.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/clone_allocator.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/nullable.hpp \ - /home/pblunsom/packages/include/boost/mpl/eval_if.hpp \ - /home/pblunsom/packages/include/boost/range/functions.hpp \ - /home/pblunsom/packages/include/boost/range/begin.hpp \ - /home/pblunsom/packages/include/boost/range/config.hpp \ - /home/pblunsom/packages/include/boost/range/iterator.hpp \ - /home/pblunsom/packages/include/boost/range/mutable_iterator.hpp \ - /home/pblunsom/packages/include/boost/range/detail/extract_optional_type.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_traits.hpp \ - /home/pblunsom/packages/include/boost/detail/iterator.hpp \ - /home/pblunsom/packages/include/boost/range/const_iterator.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_const.hpp \ - /home/pblunsom/packages/include/boost/range/end.hpp \ - /home/pblunsom/packages/include/boost/range/detail/implementation_help.hpp \ - /home/pblunsom/packages/include/boost/range/detail/common.hpp \ - /home/pblunsom/packages/include/boost/range/detail/sfinae.hpp \ - /home/pblunsom/packages/include/boost/range/size.hpp \ - /home/pblunsom/packages/include/boost/range/difference_type.hpp \ - /home/pblunsom/packages/include/boost/range/distance.hpp \ - /home/pblunsom/packages/include/boost/range/empty.hpp \ - /home/pblunsom/packages/include/boost/range/rbegin.hpp \ - /home/pblunsom/packages/include/boost/range/reverse_iterator.hpp \ - /home/pblunsom/packages/include/boost/iterator/reverse_iterator.hpp \ - /home/pblunsom/packages/include/boost/iterator.hpp \ - /home/pblunsom/packages/include/boost/utility.hpp \ - /home/pblunsom/packages/include/boost/utility/base_from_member.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_binary_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/repeat_from_to.hpp \ - /home/pblunsom/packages/include/boost/utility/binary.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/deduce_d.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/cat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/fold_left.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/seq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/elem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/size.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/transform.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/mod.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/detail/div_base.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/less_equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/not.hpp \ - /home/pblunsom/packages/include/boost/next_prior.hpp \ - /home/pblunsom/packages/include/boost/noncopyable.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_adaptor.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_categories.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/config_def.hpp \ - /home/pblunsom/packages/include/boost/mpl/placeholders.hpp \ - /home/pblunsom/packages/include/boost/mpl/arg.hpp \ - /home/pblunsom/packages/include/boost/mpl/arg_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na_assert.hpp \ - /home/pblunsom/packages/include/boost/mpl/assert.hpp \ - /home/pblunsom/packages/include/boost/mpl/not.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/yes_no.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/arrays.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/pp_counter.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/arity_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/arg_typedef.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/config_undef.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_facade.hpp \ - /home/pblunsom/packages/include/boost/iterator/interoperable.hpp \ - /home/pblunsom/packages/include/boost/mpl/or.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/or.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/facade_iterator_category.hpp \ - /home/pblunsom/packages/include/boost/detail/indirect_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_function.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/false_result.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/is_function_ptr_helper.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_pointer.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/enable_if.hpp \ - /home/pblunsom/packages/include/boost/implicit_cast.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_pointer.hpp \ - /home/pblunsom/packages/include/boost/mpl/always.hpp \ - /home/pblunsom/packages/include/boost/mpl/apply.hpp \ - /home/pblunsom/packages/include/boost/mpl/apply_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/apply_wrap.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/has_apply.hpp \ - /home/pblunsom/packages/include/boost/mpl/has_xxx.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/type_wrapper.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/has_xxx.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/msvc_typename.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/has_apply.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/msvc_never_true.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp \ - /home/pblunsom/packages/include/boost/mpl/lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/bind.hpp \ - /home/pblunsom/packages/include/boost/mpl/bind_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/bind.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/next.hpp \ - /home/pblunsom/packages/include/boost/mpl/next_prior.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/common_name_wknd.hpp \ - /home/pblunsom/packages/include/boost/mpl/protect.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/full_lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/quote.hpp \ - /home/pblunsom/packages/include/boost/mpl/void.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/has_type.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/bcc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/template_arity.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp \ - /home/pblunsom/packages/include/boost/range/rend.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/indirect_fun.hpp \ - /home/pblunsom/packages/include/boost/utility/result_of.hpp \ - /home/pblunsom/packages/include/boost/type.hpp \ - /home/pblunsom/packages/include/boost/preprocessor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/library.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/div.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/mul.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/insert.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/push_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/not_equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/pop_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/deduce_z.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/pop_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/push_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/remove.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/replace.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/greater.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/less.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/greater_equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/config/limits.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/expr_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug/assert.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug/line.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/apply.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/is_unary.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/expand.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/intercept.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/local.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/self.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/append.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/at.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/rest_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/cat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/for_each_i.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/for.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/detail/for.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/filter.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/first_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/for_each.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/for_each_product.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/to_tuple.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/to_list.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/size.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/transform.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitnor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitxor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/nor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/or.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/xor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/paren.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/paren_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/deduce_r.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_shifted.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_shifted_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_trailing.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_trailing_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/selection.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/selection/max.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/selection/min.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/filter.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/first_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/detail/split.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/fold_right.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/for_each.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/for_each_i.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/for_each_product.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/insert.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/rest_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/pop_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/pop_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/push_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/push_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/remove.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/replace.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/subseq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/to_array.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/to_tuple.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/to_seq.hpp \ - /home/pblunsom/packages/include/boost/utility/detail/result_of_iterate.hpp \ - /home/pblunsom/packages/include/boost/pointee.hpp \ - /home/pblunsom/packages/include/boost/detail/is_incrementable.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/void_ptr_iterator.hpp \ - /home/pblunsom/packages/include/boost/random/uniform_real.hpp \ - /home/pblunsom/packages/include/boost/random/detail/config.hpp \ - /home/pblunsom/packages/include/boost/random/variate_generator.hpp \ - /home/pblunsom/packages/include/boost/random/uniform_01.hpp \ - /home/pblunsom/packages/include/boost/random/detail/pass_through_engine.hpp \ - /home/pblunsom/packages/include/boost/random/detail/ptr_helper.hpp \ - /home/pblunsom/packages/include/boost/random/detail/disable_warnings.hpp \ - /home/pblunsom/packages/include/boost/random/detail/enable_warnings.hpp \ - /home/pblunsom/packages/include/boost/random/detail/uniform_int_float.hpp \ - /home/pblunsom/packages/include/boost/random/mersenne_twister.hpp \ - /home/pblunsom/packages/include/boost/random/linear_congruential.hpp \ - /home/pblunsom/packages/include/boost/random/detail/const_mod.hpp \ - /home/pblunsom/packages/include/boost/random/detail/seed.hpp pyp.hh \ - slice-sampler.h log_add.h mt19937ar.h corpus.hh workers.hh \ - /home/pblunsom/packages/include/boost/bind.hpp \ - /home/pblunsom/packages/include/boost/bind/bind.hpp \ - /home/pblunsom/packages/include/boost/is_placeholder.hpp \ - /home/pblunsom/packages/include/boost/bind/arg.hpp \ - /home/pblunsom/packages/include/boost/visit_each.hpp \ - /home/pblunsom/packages/include/boost/bind/storage.hpp \ - /home/pblunsom/packages/include/boost/bind/bind_template.hpp \ - /home/pblunsom/packages/include/boost/bind/bind_cc.hpp \ - /home/pblunsom/packages/include/boost/bind/bind_mf_cc.hpp \ - /home/pblunsom/packages/include/boost/bind/bind_mf2_cc.hpp \ - /home/pblunsom/packages/include/boost/bind/placeholders.hpp \ - /home/pblunsom/packages/include/boost/thread/thread.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/platform.hpp \ - /home/pblunsom/packages/include/boost/config/requires_threads.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/thread_data.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/config.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/platform.hpp \ - /home/pblunsom/packages/include/boost/thread/exceptions.hpp \ - /home/pblunsom/packages/include/boost/config/abi_prefix.hpp \ - /home/pblunsom/packages/include/boost/config/abi_suffix.hpp \ - /home/pblunsom/packages/include/boost/enable_shared_from_this.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/enable_shared_from_this.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/weak_ptr.hpp \ - /home/pblunsom/packages/include/boost/thread/mutex.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/mutex.hpp \ - /home/pblunsom/packages/include/boost/thread/locks.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/move.hpp \ - /home/pblunsom/packages/include/boost/thread/thread_time.hpp \ - /home/pblunsom/packages/include/boost/date_time/microsec_time_clock.hpp \ - /home/pblunsom/packages/include/boost/date_time/compiler_config.hpp \ - /home/pblunsom/packages/include/boost/date_time/locale_config.hpp \ - /home/pblunsom/packages/include/boost/date_time/c_time.hpp \ - /home/pblunsom/packages/include/boost/date_time/time_clock.hpp \ - /home/pblunsom/packages/include/boost/date_time/filetime_functions.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/posix_time_types.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/ptime.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/posix_time_system.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/posix_time_config.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/cmath.hpp \ - /home/pblunsom/packages/include/boost/date_time/time_duration.hpp \ - /home/pblunsom/packages/include/boost/operators.hpp \ - /home/pblunsom/packages/include/boost/date_time/time_defs.hpp \ - /home/pblunsom/packages/include/boost/date_time/special_defs.hpp \ - /home/pblunsom/packages/include/boost/date_time/time_resolution_traits.hpp \ - /home/pblunsom/packages/include/boost/date_time/int_adapter.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/gregorian_types.hpp \ - /home/pblunsom/packages/include/boost/date_time/date.hpp \ - /home/pblunsom/packages/include/boost/date_time/year_month_day.hpp \ - /home/pblunsom/packages/include/boost/date_time/period.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_calendar.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_weekday.hpp \ - /home/pblunsom/packages/include/boost/date_time/constrained_value.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_base_of.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_base_and_derived.hpp \ - /home/pblunsom/packages/include/boost/date_time/date_defs.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_day_of_year.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian_calendar.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian_calendar.ipp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_ymd.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_day.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_year.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_month.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_duration.hpp \ - /home/pblunsom/packages/include/boost/date_time/date_duration.hpp \ - /home/pblunsom/packages/include/boost/date_time/date_duration_types.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_duration_types.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_date.hpp \ - /home/pblunsom/packages/include/boost/date_time/adjust_functors.hpp \ - /home/pblunsom/packages/include/boost/date_time/wrapping_int.hpp \ - /home/pblunsom/packages/include/boost/date_time/date_generators.hpp \ - /home/pblunsom/packages/include/boost/date_time/date_clock_device.hpp \ - /home/pblunsom/packages/include/boost/date_time/date_iterator.hpp \ - /home/pblunsom/packages/include/boost/date_time/time_system_split.hpp \ - /home/pblunsom/packages/include/boost/date_time/time_system_counted.hpp \ - /home/pblunsom/packages/include/boost/date_time/time.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/date_duration_operators.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/posix_time_duration.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/time_period.hpp \ - /home/pblunsom/packages/include/boost/date_time/time_iterator.hpp \ - /home/pblunsom/packages/include/boost/date_time/dst_rules.hpp \ - /home/pblunsom/packages/include/boost/thread/xtime.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/conversion.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/conversion.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/timespec.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/pthread_mutex_scoped_lock.hpp \ - /home/pblunsom/packages/include/boost/optional.hpp \ - /home/pblunsom/packages/include/boost/optional/optional.hpp \ - /home/pblunsom/packages/include/boost/type_traits/type_with_alignment.hpp \ - /home/pblunsom/packages/include/boost/detail/reference_content.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_nothrow_copy.hpp \ - /home/pblunsom/packages/include/boost/none.hpp \ - /home/pblunsom/packages/include/boost/none_t.hpp \ - /home/pblunsom/packages/include/boost/utility/compare_pointees.hpp \ - /home/pblunsom/packages/include/boost/optional/optional_fwd.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/condition_variable_fwd.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/thread.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/thread_heap_alloc.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/thread_heap_alloc.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/thread_interruption.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/thread_group.hpp \ - /home/pblunsom/packages/include/boost/thread/shared_mutex.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/shared_mutex.hpp \ - /home/pblunsom/packages/include/boost/thread/condition_variable.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/condition_variable.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/thread_data.hpp \ - /home/pblunsom/packages/include/boost/thread/future.hpp \ - /home/pblunsom/packages/include/boost/exception_ptr.hpp \ - /home/pblunsom/packages/include/boost/exception/detail/exception_ptr.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_fundamental.hpp \ - /home/pblunsom/packages/include/boost/thread/condition.hpp timing.h \ - clock_gettime_stub.c contexts_corpus.hh contexts_lexer.h \ - ../../../decoder/dict.h \ - /home/pblunsom/packages/include/boost/functional/hash.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/hash.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/hash_fwd.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/detail/hash_float.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/detail/float_functions.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/detail/limits.hpp \ - /home/pblunsom/packages/include/boost/integer/static_log2.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/detail/hash_float_generic.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/extensions.hpp \ - /home/pblunsom/packages/include/boost/detail/container_fwd.hpp \ - ../../../decoder/wordid.h gzstream.hh -train.o: train.cc \ - /home/pblunsom/packages/include/boost/program_options/parsers.hpp \ - /home/pblunsom/packages/include/boost/program_options/config.hpp \ - /home/pblunsom/packages/include/boost/config.hpp \ - /home/pblunsom/packages/include/boost/config/user.hpp \ - /home/pblunsom/packages/include/boost/config/select_compiler_config.hpp \ - /home/pblunsom/packages/include/boost/config/compiler/gcc.hpp \ - /home/pblunsom/packages/include/boost/config/select_stdlib_config.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/utility.hpp \ - /home/pblunsom/packages/include/boost/config/stdlib/libstdcpp3.hpp \ - /home/pblunsom/packages/include/boost/config/select_platform_config.hpp \ - /home/pblunsom/packages/include/boost/config/platform/linux.hpp \ - /home/pblunsom/packages/include/boost/config/posix_features.hpp \ - /home/pblunsom/packages/include/boost/config/suffix.hpp \ - /home/pblunsom/packages/include/boost/version.hpp \ - /home/pblunsom/packages/include/boost/config/auto_link.hpp \ - /home/pblunsom/packages/include/boost/program_options/option.hpp \ - /home/pblunsom/packages/include/boost/program_options/detail/cmdline.hpp \ - /home/pblunsom/packages/include/boost/program_options/errors.hpp \ - /home/pblunsom/packages/include/boost/program_options/cmdline.hpp \ - /home/pblunsom/packages/include/boost/program_options/options_description.hpp \ - /home/pblunsom/packages/include/boost/program_options/value_semantic.hpp \ - /home/pblunsom/packages/include/boost/any.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_reference.hpp \ - /home/pblunsom/packages/include/boost/type_traits/broken_compiler_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/lambda_support.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/ttp.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/msvc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/gcc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/workaround.hpp \ - /home/pblunsom/packages/include/boost/detail/workaround.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/ctps.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/type_trait_def.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/template_arity_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/int.hpp \ - /home/pblunsom/packages/include/boost/mpl/int_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/adl_barrier.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/adl.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/intel.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/nttp_decl.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/nttp.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/integral_wrapper.hpp \ - /home/pblunsom/packages/include/boost/mpl/integral_c_tag.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/static_constant.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/static_cast.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/cat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/config/config.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/template_arity_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessor/params.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/preprocessor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comma_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/comma_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/iif.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bool.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/empty.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/comma.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repeat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/repeat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug/error.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/auto_rec.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/eat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/inc.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/inc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/overload_resolution.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/type_trait_undef.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_reference.hpp \ - /home/pblunsom/packages/include/boost/type_traits/config.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/bool_trait_def.hpp \ - /home/pblunsom/packages/include/boost/type_traits/integral_constant.hpp \ - /home/pblunsom/packages/include/boost/mpl/bool.hpp \ - /home/pblunsom/packages/include/boost/mpl/bool_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/integral_c.hpp \ - /home/pblunsom/packages/include/boost/mpl/integral_c_fwd.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/bool_trait_undef.hpp \ - /home/pblunsom/packages/include/boost/throw_exception.hpp \ - /home/pblunsom/packages/include/boost/exception/detail/attribute_noreturn.hpp \ - /home/pblunsom/packages/include/boost/exception/exception.hpp \ - /home/pblunsom/packages/include/boost/current_function.hpp \ - /home/pblunsom/packages/include/boost/static_assert.hpp \ - /home/pblunsom/packages/include/boost/function/function1.hpp \ - /home/pblunsom/packages/include/boost/function/detail/maybe_include.hpp \ - /home/pblunsom/packages/include/boost/function/function_template.hpp \ - /home/pblunsom/packages/include/boost/function/detail/prologue.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/functional.hpp \ - /home/pblunsom/packages/include/boost/function/function_base.hpp \ - /home/pblunsom/packages/include/boost/detail/sp_typeinfo.hpp \ - /home/pblunsom/packages/include/boost/assert.hpp \ - /home/pblunsom/packages/include/boost/integer.hpp \ - /home/pblunsom/packages/include/boost/integer_fwd.hpp \ - /home/pblunsom/packages/include/boost/limits.hpp \ - /home/pblunsom/packages/include/boost/cstdint.hpp \ - /home/pblunsom/packages/include/boost/integer_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_trivial_copy.hpp \ - /home/pblunsom/packages/include/boost/type_traits/intrinsics.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_same.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_volatile.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/cv_traits_impl.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_pod.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_void.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_scalar.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_arithmetic.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_integral.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_float.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_or.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_enum.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_member_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_member_function_pointer.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_cv.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_and.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_not.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_trivial_destructor.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_const.hpp \ - /home/pblunsom/packages/include/boost/type_traits/composite_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_array.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_union.hpp \ - /home/pblunsom/packages/include/boost/type_traits/ice.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/yes_no_type.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/ice_eq.hpp \ - /home/pblunsom/packages/include/boost/ref.hpp \ - /home/pblunsom/packages/include/boost/utility/addressof.hpp \ - /home/pblunsom/packages/include/boost/mpl/if.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/value_wknd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/integral.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/eti.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/lambda_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/void_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/lambda_arity_param.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/arity.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/dtp.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessor/enum.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp \ - /home/pblunsom/packages/include/boost/mpl/limits/arity.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/and.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitand.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/identity.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/identity.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/empty.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/add.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/dec.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/while.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/fold_left.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/detail/fold_left.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/expr_iif.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/adt.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/is_binary.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/check.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/compl.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/fold_right.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/detail/fold_right.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/detail/while.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/elem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/sub.hpp \ - /home/pblunsom/packages/include/boost/type_traits/alignment_of.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/size_t_trait_def.hpp \ - /home/pblunsom/packages/include/boost/mpl/size_t.hpp \ - /home/pblunsom/packages/include/boost/mpl/size_t_fwd.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/size_t_trait_undef.hpp \ - /home/pblunsom/packages/include/boost/utility/enable_if.hpp \ - /home/pblunsom/packages/include/boost/function_equal.hpp \ - /home/pblunsom/packages/include/boost/function/function_fwd.hpp \ - /home/pblunsom/packages/include/boost/mem_fn.hpp \ - /home/pblunsom/packages/include/boost/bind/mem_fn.hpp \ - /home/pblunsom/packages/include/boost/get_pointer.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/memory.hpp \ - /home/pblunsom/packages/include/boost/bind/mem_fn_template.hpp \ - /home/pblunsom/packages/include/boost/bind/mem_fn_cc.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/rem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/enum_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_params.hpp \ - /home/pblunsom/packages/include/boost/detail/no_exceptions_support.hpp \ - /home/pblunsom/packages/include/boost/lexical_cast.hpp \ - /home/pblunsom/packages/include/boost/type_traits/make_unsigned.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_signed.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_unsigned.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_const.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_volatile.hpp \ - /home/pblunsom/packages/include/boost/call_traits.hpp \ - /home/pblunsom/packages/include/boost/detail/call_traits.hpp \ - /home/pblunsom/packages/include/boost/detail/lcast_precision.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_abstract.hpp \ - /home/pblunsom/packages/include/boost/program_options/detail/value_semantic.hpp \ - /home/pblunsom/packages/include/boost/function.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iterate.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/iterate.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/elem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/data.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/size.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot/slot.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot/detail/def.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/detail/iter/forward1.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot/detail/shared.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp \ - /home/pblunsom/packages/include/boost/function/detail/function_iterate.hpp \ - /home/pblunsom/packages/include/boost/shared_ptr.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/shared_ptr.hpp \ - /home/pblunsom/packages/include/boost/checked_delete.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/shared_count.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/bad_weak_ptr.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_counted_base.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_has_sync.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_counted_impl.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/sp_convertible.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/spinlock_pool.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/spinlock.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/spinlock_sync.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/yield_k.hpp \ - /home/pblunsom/packages/include/boost/memory_order.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/detail/operator_bool.hpp \ - /home/pblunsom/packages/include/boost/program_options/positional_options.hpp \ - /home/pblunsom/packages/include/boost/program_options/detail/parsers.hpp \ - /home/pblunsom/packages/include/boost/program_options/detail/convert.hpp \ - /home/pblunsom/packages/include/boost/program_options/variables_map.hpp \ - /home/pblunsom/packages/include/boost/scoped_ptr.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/scoped_ptr.hpp \ - pyp-topics.hh \ - /home/pblunsom/packages/include/boost/ptr_container/ptr_vector.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/ptr_sequence_adapter.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/reversible_ptr_container.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/throw_exception.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/scoped_deleter.hpp \ - /home/pblunsom/packages/include/boost/scoped_array.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/scoped_array.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/static_move_ptr.hpp \ - /home/pblunsom/packages/include/boost/compressed_pair.hpp \ - /home/pblunsom/packages/include/boost/detail/compressed_pair.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_empty.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_convertible.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_reference.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_class.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/default_deleter.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_bounds.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/is_convertible.hpp \ - /home/pblunsom/packages/include/boost/mpl/and.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/use_preprocessed.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/nested_type_wknd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/include_preprocessed.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/compiler.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/stringize.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/and.hpp \ - /home/pblunsom/packages/include/boost/mpl/identity.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/move.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/exception.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/clone_allocator.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/nullable.hpp \ - /home/pblunsom/packages/include/boost/mpl/eval_if.hpp \ - /home/pblunsom/packages/include/boost/range/functions.hpp \ - /home/pblunsom/packages/include/boost/range/begin.hpp \ - /home/pblunsom/packages/include/boost/range/config.hpp \ - /home/pblunsom/packages/include/boost/range/iterator.hpp \ - /home/pblunsom/packages/include/boost/range/mutable_iterator.hpp \ - /home/pblunsom/packages/include/boost/range/detail/extract_optional_type.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_traits.hpp \ - /home/pblunsom/packages/include/boost/detail/iterator.hpp \ - /home/pblunsom/packages/include/boost/range/const_iterator.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_const.hpp \ - /home/pblunsom/packages/include/boost/range/end.hpp \ - /home/pblunsom/packages/include/boost/range/detail/implementation_help.hpp \ - /home/pblunsom/packages/include/boost/range/detail/common.hpp \ - /home/pblunsom/packages/include/boost/range/detail/sfinae.hpp \ - /home/pblunsom/packages/include/boost/range/size.hpp \ - /home/pblunsom/packages/include/boost/range/difference_type.hpp \ - /home/pblunsom/packages/include/boost/range/distance.hpp \ - /home/pblunsom/packages/include/boost/range/empty.hpp \ - /home/pblunsom/packages/include/boost/range/rbegin.hpp \ - /home/pblunsom/packages/include/boost/range/reverse_iterator.hpp \ - /home/pblunsom/packages/include/boost/iterator/reverse_iterator.hpp \ - /home/pblunsom/packages/include/boost/iterator.hpp \ - /home/pblunsom/packages/include/boost/utility.hpp \ - /home/pblunsom/packages/include/boost/utility/base_from_member.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_binary_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/repeat_from_to.hpp \ - /home/pblunsom/packages/include/boost/utility/binary.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/deduce_d.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/cat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/fold_left.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/seq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/elem.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/size.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/transform.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/mod.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/detail/div_base.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/less_equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/not.hpp \ - /home/pblunsom/packages/include/boost/next_prior.hpp \ - /home/pblunsom/packages/include/boost/noncopyable.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_adaptor.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_categories.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/config_def.hpp \ - /home/pblunsom/packages/include/boost/mpl/placeholders.hpp \ - /home/pblunsom/packages/include/boost/mpl/arg.hpp \ - /home/pblunsom/packages/include/boost/mpl/arg_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/na_assert.hpp \ - /home/pblunsom/packages/include/boost/mpl/assert.hpp \ - /home/pblunsom/packages/include/boost/mpl/not.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/yes_no.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/arrays.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/pp_counter.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/arity_spec.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/arg_typedef.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/config_undef.hpp \ - /home/pblunsom/packages/include/boost/iterator/iterator_facade.hpp \ - /home/pblunsom/packages/include/boost/iterator/interoperable.hpp \ - /home/pblunsom/packages/include/boost/mpl/or.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/or.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/facade_iterator_category.hpp \ - /home/pblunsom/packages/include/boost/detail/indirect_traits.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_function.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/false_result.hpp \ - /home/pblunsom/packages/include/boost/type_traits/detail/is_function_ptr_helper.hpp \ - /home/pblunsom/packages/include/boost/type_traits/remove_pointer.hpp \ - /home/pblunsom/packages/include/boost/iterator/detail/enable_if.hpp \ - /home/pblunsom/packages/include/boost/implicit_cast.hpp \ - /home/pblunsom/packages/include/boost/type_traits/add_pointer.hpp \ - /home/pblunsom/packages/include/boost/mpl/always.hpp \ - /home/pblunsom/packages/include/boost/mpl/apply.hpp \ - /home/pblunsom/packages/include/boost/mpl/apply_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/apply_wrap.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/has_apply.hpp \ - /home/pblunsom/packages/include/boost/mpl/has_xxx.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/type_wrapper.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/has_xxx.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/msvc_typename.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/has_apply.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/msvc_never_true.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp \ - /home/pblunsom/packages/include/boost/mpl/lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/bind.hpp \ - /home/pblunsom/packages/include/boost/mpl/bind_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/bind.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp \ - /home/pblunsom/packages/include/boost/mpl/next.hpp \ - /home/pblunsom/packages/include/boost/mpl/next_prior.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/common_name_wknd.hpp \ - /home/pblunsom/packages/include/boost/mpl/protect.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/full_lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/quote.hpp \ - /home/pblunsom/packages/include/boost/mpl/void.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/has_type.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/config/bcc.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/template_arity.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp \ - /home/pblunsom/packages/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp \ - /home/pblunsom/packages/include/boost/range/rend.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/indirect_fun.hpp \ - /home/pblunsom/packages/include/boost/utility/result_of.hpp \ - /home/pblunsom/packages/include/boost/type.hpp \ - /home/pblunsom/packages/include/boost/preprocessor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/library.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/div.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/arithmetic/mul.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/insert.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/push_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/not_equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/pop_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/deduce_z.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/pop_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/push_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/remove.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/replace.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/array/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/greater.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/less.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/comparison/greater_equal.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/config/limits.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/control/expr_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug/assert.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/debug/line.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/apply.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/detail/is_unary.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/expand.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/facilities/intercept.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/local.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/iteration/self.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/append.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/at.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/rest_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/cat.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/for_each_i.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/for.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/detail/for.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/filter.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/first_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/for_each.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/for_each_product.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/to_tuple.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/to_list.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/size.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/list/transform.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitnor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/bitxor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/nor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/or.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/logical/xor.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/paren.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/punctuation/paren_if.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/deduce_r.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_shifted.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_shifted_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_trailing.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/repetition/enum_trailing_params.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/selection.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/selection/max.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/selection/min.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/enum.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/filter.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/first_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/detail/split.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/fold_right.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/reverse.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/for_each.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/for_each_i.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/for_each_product.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/insert.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/rest_n.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/pop_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/pop_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/push_back.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/push_front.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/remove.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/replace.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/subseq.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/to_array.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/seq/to_tuple.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/slot.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple.hpp \ - /home/pblunsom/packages/include/boost/preprocessor/tuple/to_seq.hpp \ - /home/pblunsom/packages/include/boost/utility/detail/result_of_iterate.hpp \ - /home/pblunsom/packages/include/boost/pointee.hpp \ - /home/pblunsom/packages/include/boost/detail/is_incrementable.hpp \ - /home/pblunsom/packages/include/boost/ptr_container/detail/void_ptr_iterator.hpp \ - /home/pblunsom/packages/include/boost/random/uniform_real.hpp \ - /home/pblunsom/packages/include/boost/random/detail/config.hpp \ - /home/pblunsom/packages/include/boost/random/variate_generator.hpp \ - /home/pblunsom/packages/include/boost/random/uniform_01.hpp \ - /home/pblunsom/packages/include/boost/random/detail/pass_through_engine.hpp \ - /home/pblunsom/packages/include/boost/random/detail/ptr_helper.hpp \ - /home/pblunsom/packages/include/boost/random/detail/disable_warnings.hpp \ - /home/pblunsom/packages/include/boost/random/detail/enable_warnings.hpp \ - /home/pblunsom/packages/include/boost/random/detail/uniform_int_float.hpp \ - /home/pblunsom/packages/include/boost/random/mersenne_twister.hpp \ - /home/pblunsom/packages/include/boost/random/linear_congruential.hpp \ - /home/pblunsom/packages/include/boost/random/detail/const_mod.hpp \ - /home/pblunsom/packages/include/boost/random/detail/seed.hpp pyp.hh \ - slice-sampler.h log_add.h mt19937ar.h corpus.hh workers.hh \ - /home/pblunsom/packages/include/boost/bind.hpp \ - /home/pblunsom/packages/include/boost/bind/bind.hpp \ - /home/pblunsom/packages/include/boost/is_placeholder.hpp \ - /home/pblunsom/packages/include/boost/bind/arg.hpp \ - /home/pblunsom/packages/include/boost/visit_each.hpp \ - /home/pblunsom/packages/include/boost/bind/storage.hpp \ - /home/pblunsom/packages/include/boost/bind/bind_template.hpp \ - /home/pblunsom/packages/include/boost/bind/bind_cc.hpp \ - /home/pblunsom/packages/include/boost/bind/bind_mf_cc.hpp \ - /home/pblunsom/packages/include/boost/bind/bind_mf2_cc.hpp \ - /home/pblunsom/packages/include/boost/bind/placeholders.hpp \ - /home/pblunsom/packages/include/boost/thread/thread.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/platform.hpp \ - /home/pblunsom/packages/include/boost/config/requires_threads.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/thread_data.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/config.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/platform.hpp \ - /home/pblunsom/packages/include/boost/thread/exceptions.hpp \ - /home/pblunsom/packages/include/boost/config/abi_prefix.hpp \ - /home/pblunsom/packages/include/boost/config/abi_suffix.hpp \ - /home/pblunsom/packages/include/boost/enable_shared_from_this.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/enable_shared_from_this.hpp \ - /home/pblunsom/packages/include/boost/smart_ptr/weak_ptr.hpp \ - /home/pblunsom/packages/include/boost/thread/mutex.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/mutex.hpp \ - /home/pblunsom/packages/include/boost/thread/locks.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/move.hpp \ - /home/pblunsom/packages/include/boost/thread/thread_time.hpp \ - /home/pblunsom/packages/include/boost/date_time/microsec_time_clock.hpp \ - /home/pblunsom/packages/include/boost/date_time/compiler_config.hpp \ - /home/pblunsom/packages/include/boost/date_time/locale_config.hpp \ - /home/pblunsom/packages/include/boost/date_time/c_time.hpp \ - /home/pblunsom/packages/include/boost/date_time/time_clock.hpp \ - /home/pblunsom/packages/include/boost/date_time/filetime_functions.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/posix_time_types.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/ptime.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/posix_time_system.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/posix_time_config.hpp \ - /home/pblunsom/packages/include/boost/config/no_tr1/cmath.hpp \ - /home/pblunsom/packages/include/boost/date_time/time_duration.hpp \ - /home/pblunsom/packages/include/boost/operators.hpp \ - /home/pblunsom/packages/include/boost/date_time/time_defs.hpp \ - /home/pblunsom/packages/include/boost/date_time/special_defs.hpp \ - /home/pblunsom/packages/include/boost/date_time/time_resolution_traits.hpp \ - /home/pblunsom/packages/include/boost/date_time/int_adapter.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/gregorian_types.hpp \ - /home/pblunsom/packages/include/boost/date_time/date.hpp \ - /home/pblunsom/packages/include/boost/date_time/year_month_day.hpp \ - /home/pblunsom/packages/include/boost/date_time/period.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_calendar.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_weekday.hpp \ - /home/pblunsom/packages/include/boost/date_time/constrained_value.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_base_of.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_base_and_derived.hpp \ - /home/pblunsom/packages/include/boost/date_time/date_defs.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_day_of_year.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian_calendar.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian_calendar.ipp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_ymd.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_day.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_year.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_month.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_duration.hpp \ - /home/pblunsom/packages/include/boost/date_time/date_duration.hpp \ - /home/pblunsom/packages/include/boost/date_time/date_duration_types.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_duration_types.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/greg_date.hpp \ - /home/pblunsom/packages/include/boost/date_time/adjust_functors.hpp \ - /home/pblunsom/packages/include/boost/date_time/wrapping_int.hpp \ - /home/pblunsom/packages/include/boost/date_time/date_generators.hpp \ - /home/pblunsom/packages/include/boost/date_time/date_clock_device.hpp \ - /home/pblunsom/packages/include/boost/date_time/date_iterator.hpp \ - /home/pblunsom/packages/include/boost/date_time/time_system_split.hpp \ - /home/pblunsom/packages/include/boost/date_time/time_system_counted.hpp \ - /home/pblunsom/packages/include/boost/date_time/time.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/date_duration_operators.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/posix_time_duration.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/time_period.hpp \ - /home/pblunsom/packages/include/boost/date_time/time_iterator.hpp \ - /home/pblunsom/packages/include/boost/date_time/dst_rules.hpp \ - /home/pblunsom/packages/include/boost/thread/xtime.hpp \ - /home/pblunsom/packages/include/boost/date_time/posix_time/conversion.hpp \ - /home/pblunsom/packages/include/boost/date_time/gregorian/conversion.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/timespec.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/pthread_mutex_scoped_lock.hpp \ - /home/pblunsom/packages/include/boost/optional.hpp \ - /home/pblunsom/packages/include/boost/optional/optional.hpp \ - /home/pblunsom/packages/include/boost/type_traits/type_with_alignment.hpp \ - /home/pblunsom/packages/include/boost/detail/reference_content.hpp \ - /home/pblunsom/packages/include/boost/type_traits/has_nothrow_copy.hpp \ - /home/pblunsom/packages/include/boost/none.hpp \ - /home/pblunsom/packages/include/boost/none_t.hpp \ - /home/pblunsom/packages/include/boost/utility/compare_pointees.hpp \ - /home/pblunsom/packages/include/boost/optional/optional_fwd.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/condition_variable_fwd.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/thread.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/thread_heap_alloc.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/thread_heap_alloc.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/thread_interruption.hpp \ - /home/pblunsom/packages/include/boost/thread/detail/thread_group.hpp \ - /home/pblunsom/packages/include/boost/thread/shared_mutex.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/shared_mutex.hpp \ - /home/pblunsom/packages/include/boost/thread/condition_variable.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/condition_variable.hpp \ - /home/pblunsom/packages/include/boost/thread/pthread/thread_data.hpp \ - /home/pblunsom/packages/include/boost/thread/future.hpp \ - /home/pblunsom/packages/include/boost/exception_ptr.hpp \ - /home/pblunsom/packages/include/boost/exception/detail/exception_ptr.hpp \ - /home/pblunsom/packages/include/boost/type_traits/is_fundamental.hpp \ - /home/pblunsom/packages/include/boost/thread/condition.hpp timing.h \ - clock_gettime_stub.c contexts_corpus.hh contexts_lexer.h \ - ../../../decoder/dict.h \ - /home/pblunsom/packages/include/boost/functional/hash.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/hash.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/hash_fwd.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/detail/hash_float.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/detail/float_functions.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/detail/limits.hpp \ - /home/pblunsom/packages/include/boost/integer/static_log2.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/detail/hash_float_generic.hpp \ - /home/pblunsom/packages/include/boost/functional/hash/extensions.hpp \ - /home/pblunsom/packages/include/boost/detail/container_fwd.hpp \ - ../../../decoder/wordid.h gzstream.hh -clock_gettime_stub.o: clock_gettime_stub.c -gammadist.o: gammadist.c gammadist.h mt19937ar.h -mt19937ar.o: mt19937ar.c mt19937ar.h diff --git a/gi/pyp-topics/src/mpi-corpus.hh b/gi/pyp-topics/src/mpi-corpus.hh deleted file mode 100644 index f5c478a9..00000000 --- a/gi/pyp-topics/src/mpi-corpus.hh +++ /dev/null @@ -1,69 +0,0 @@ -#ifndef _MPI_CORPUS_HH -#define _MPI_CORPUS_HH - -#include <vector> -#include <string> -#include <map> -#include <tr1/unordered_map> - -#include <boost/ptr_container/ptr_vector.hpp> -#include <boost/mpi/environment.hpp> -#include <boost/mpi/communicator.hpp> - -#include "contexts_corpus.hh" - - -//////////////////////////////////////////////////////////////// -// MPICorpus -//////////////////////////////////////////////////////////////// - -class MPICorpus : public ContextsCorpus { -public: - MPICorpus() : ContextsCorpus() { - boost::mpi::communicator world; - m_rank = world.rank(); - m_size = world.size(); - m_start = -1; - m_end = -1; - } - virtual ~MPICorpus() {} - - virtual unsigned read_contexts(const std::string &filename, - BackoffGenerator* backoff_gen=0, - bool filter_singeltons=false, - bool binary_contexts=false) { - unsigned result = ContextsCorpus::read_contexts(filename, backoff_gen, filter_singeltons, binary_contexts); - - if (m_rank == 0) std::cerr << "\tLoad balancing terms per mpi segment:" << std::endl; - float segment_size = num_terms() / m_size; - float term_threshold = segment_size; - int seen_terms = 0; - std::vector<int> end_points; - for (int i=0; i < num_documents(); ++i) { - seen_terms += m_documents.at(i).size(); - if (seen_terms >= term_threshold) { - end_points.push_back(i+1); - term_threshold += segment_size; - if (m_rank == 0) std::cerr << "\t\t" << i+1 << ": " << seen_terms << " terms, " << 100*seen_terms / (float)num_terms() << "%" << std::endl; - } - } - m_start = (m_rank == 0 ? 0 : end_points.at(m_rank-1)); - m_end = (m_rank == m_size-1 ? num_documents() : end_points.at(m_rank)); - - return result; - } - - void - bounds(int* start, int* end) const { - *start = m_start; - *end = m_end; - } - - - -protected: - int m_rank, m_size; - int m_start, m_end; -}; - -#endif // _MPI_CORPUS_HH diff --git a/gi/pyp-topics/src/mpi-pyp-topics.cc b/gi/pyp-topics/src/mpi-pyp-topics.cc deleted file mode 100644 index d6e22af6..00000000 --- a/gi/pyp-topics/src/mpi-pyp-topics.cc +++ /dev/null @@ -1,466 +0,0 @@ -#include <boost/mpi/communicator.hpp> - -#include "timing.h" -#include "mpi-pyp-topics.hh" - -//#include <boost/date_time/posix_time/posix_time_types.hpp> -void MPIPYPTopics::sample_corpus(const MPICorpus& corpus, int samples, - int freq_cutoff_start, int freq_cutoff_end, - int freq_cutoff_interval, - int max_contexts_per_document) { - Timer timer; - - //int documents = corpus.num_documents(); - /* - m_mpi_start = 0; - m_mpi_end = documents; - if (m_size != 1) { - assert(documents < std::numeric_limits<int>::max()); - m_mpi_start = (documents / m_size) * m_rank; - if (m_rank == m_size-1) m_mpi_end = documents; - else m_mpi_end = (documents / m_size)*(m_rank+1); - } - */ - corpus.bounds(&m_mpi_start, &m_mpi_end); - int local_documents = m_mpi_end - m_mpi_start; - - if (!m_backoff.get()) { - m_word_pyps.clear(); - m_word_pyps.push_back(MPIPYPs()); - } - - if (m_am_root) std::cerr << "\n Training with " << m_word_pyps.size()-1 << " backoff level" - << (m_word_pyps.size()>1 ? ":" : "s:") << std::endl; - - for (int i=0; i<(int)m_word_pyps.size(); ++i) { - m_word_pyps.at(i).reserve(m_num_topics); - for (int j=0; j<m_num_topics; ++j) - m_word_pyps.at(i).push_back(new MPIPYP<int>(0.5, 1.0)); - } - if (m_am_root) std::cerr << std::endl; - - m_document_pyps.reserve(local_documents); - //m_document_pyps.reserve(corpus.num_documents()); - //for (int j=0; j<corpus.num_documents(); ++j) - for (int j=0; j<local_documents; ++j) - m_document_pyps.push_back(new PYP<int>(0.5, 1.0)); - - m_topic_p0 = 1.0/m_num_topics; - m_term_p0 = 1.0/corpus.num_types(); - m_backoff_p0 = 1.0/corpus.num_documents(); - - if (m_am_root) std::cerr << " Documents: " << corpus.num_documents() << "(" - << local_documents << ")" << " Terms: " << corpus.num_types() << std::endl; - - int frequency_cutoff = freq_cutoff_start; - if (m_am_root) std::cerr << " Context frequency cutoff set to " << frequency_cutoff << std::endl; - - timer.Reset(); - // Initialisation pass - int document_id=0, topic_counter=0; - for (int i=0; i<local_documents; ++i) { - document_id = i+m_mpi_start; - - //for (Corpus::const_iterator corpusIt=corpus.begin(); - // corpusIt != corpus.end(); ++corpusIt, ++document_id) { - m_corpus_topics.push_back(DocumentTopics(corpus.at(document_id).size(), 0)); - - int term_index=0; - for (Document::const_iterator docIt=corpus.at(document_id).begin(); - docIt != corpus.at(document_id).end(); ++docIt, ++term_index) { - topic_counter++; - Term term = *docIt; - - // sample a new_topic - //int new_topic = (topic_counter % m_num_topics); - int freq = corpus.context_count(term); - int new_topic = -1; - if (freq > frequency_cutoff - && (!max_contexts_per_document || term_index < max_contexts_per_document)) { - new_topic = sample(i, term); - //new_topic = document_id % m_num_topics; - - // add the new topic to the PYPs - increment(term, new_topic); - - if (m_use_topic_pyp) { - F p0 = m_topic_pyp.prob(new_topic, m_topic_p0); - int table_delta = m_document_pyps.at(i).increment(new_topic, p0); - if (table_delta) - m_topic_pyp.increment(new_topic, m_topic_p0, rnd); - } - else m_document_pyps.at(i).increment(new_topic, m_topic_p0); - } - - m_corpus_topics.at(i).at(term_index) = new_topic; - } - } - - // Synchronise the topic->word counds across the processes. - synchronise(); - - if (m_am_root) std::cerr << " Initialized in " << timer.Elapsed() << " seconds\n"; - - int* randomDocIndices = new int[local_documents]; - for (int i = 0; i < local_documents; ++i) - randomDocIndices[i] = i; - - // Sampling phase - for (int curr_sample=0; curr_sample < samples; ++curr_sample) { - if (freq_cutoff_interval > 0 && curr_sample != 1 - && curr_sample % freq_cutoff_interval == 1 - && frequency_cutoff > freq_cutoff_end) { - frequency_cutoff--; - if (m_am_root) std::cerr << "\n Context frequency cutoff set to " << frequency_cutoff << std::endl; - } - - if (m_am_root) std::cerr << "\n -- Sample " << curr_sample << " "; std::cerr.flush(); - - // Randomize the corpus indexing array - int tmp; - int processed_terms=0; - for (int i = (local_documents-1); i > 0; --i) { - //i+1 since j \in [0,i] but rnd() \in [0,1) - int j = (int)(rnd() * (i+1)); - assert(j >= 0 && j <= i); - tmp = randomDocIndices[i]; - randomDocIndices[i] = randomDocIndices[j]; - randomDocIndices[j] = tmp; - } - - // for each document in the corpus - for (int rand_doc=0; rand_doc<local_documents; ++rand_doc) { - int doc_index = randomDocIndices[rand_doc]; - int document_id = doc_index + m_mpi_start; - const Document& doc = corpus.at(document_id); - - // for each term in the document - int term_index=0; - Document::const_iterator docEnd = doc.end(); - for (Document::const_iterator docIt=doc.begin(); - docIt != docEnd; ++docIt, ++term_index) { - - if (max_contexts_per_document && term_index > max_contexts_per_document) - break; - - Term term = *docIt; - int freq = corpus.context_count(term); - if (freq < frequency_cutoff) - continue; - - processed_terms++; - - // remove the prevous topic from the PYPs - int current_topic = m_corpus_topics.at(doc_index).at(term_index); - // a negative label mean that term hasn't been sampled yet - if (current_topic >= 0) { - decrement(term, current_topic); - - int table_delta = m_document_pyps.at(doc_index).decrement(current_topic); - if (m_use_topic_pyp && table_delta < 0) - m_topic_pyp.decrement(current_topic, rnd); - } - - // sample a new_topic - int new_topic = sample(doc_index, term); - - // add the new topic to the PYPs - m_corpus_topics.at(doc_index).at(term_index) = new_topic; - increment(term, new_topic); - - if (m_use_topic_pyp) { - F p0 = m_topic_pyp.prob(new_topic, m_topic_p0); - int table_delta = m_document_pyps.at(doc_index).increment(new_topic, p0); - if (table_delta) - m_topic_pyp.increment(new_topic, m_topic_p0, rnd); - } - else m_document_pyps.at(doc_index).increment(new_topic, m_topic_p0); - } - if (document_id && document_id % 10000 == 0) { - if (m_am_root) std::cerr << "."; std::cerr.flush(); - } - } - std::cerr << "|"; std::cerr.flush(); - - // Synchronise the topic->word counds across the processes. - synchronise(); - - if (m_am_root) std::cerr << " ||| sampled " << processed_terms << " terms."; - - if (curr_sample != 0 && curr_sample % 10 == 0) { - if (m_am_root) std::cerr << " ||| time=" << (timer.Elapsed() / 10.0) << " sec/sample" << std::endl; - timer.Reset(); - if (m_am_root) std::cerr << " ... Resampling hyperparameters"; std::cerr.flush(); - - // resample the hyperparamters - F log_p=0.0; - for (std::vector<MPIPYPs>::iterator levelIt=m_word_pyps.begin(); - levelIt != m_word_pyps.end(); ++levelIt) { - for (MPIPYPs::iterator pypIt=levelIt->begin(); - pypIt != levelIt->end(); ++pypIt) { - pypIt->resample_prior(rnd); - log_p += pypIt->log_restaurant_prob(); - } - } - - for (PYPs::iterator pypIt=m_document_pyps.begin(); - pypIt != m_document_pyps.end(); ++pypIt) { - pypIt->resample_prior(rnd); - log_p += pypIt->log_restaurant_prob(); - } - - if (m_use_topic_pyp) { - m_topic_pyp.resample_prior(rnd); - log_p += m_topic_pyp.log_restaurant_prob(); - } - - std::cerr.precision(10); - if (m_am_root) std::cerr << " ||| LLH=" << log_p << " ||| resampling time=" << timer.Elapsed() << " sec" << std::endl; - timer.Reset(); - - int k=0; - if (m_am_root) std::cerr << "Topics distribution: "; - std::cerr.precision(2); - for (MPIPYPs::iterator pypIt=m_word_pyps.front().begin(); - pypIt != m_word_pyps.front().end(); ++pypIt, ++k) { - if (m_am_root && k % 5 == 0) std::cerr << std::endl << '\t'; - if (m_am_root) std::cerr << "<" << k << ":" << pypIt->num_customers() << "," - << pypIt->num_types() << "," << m_topic_pyp.prob(k, m_topic_p0) << "> "; - } - std::cerr.precision(4); - if (m_am_root) std::cerr << std::endl; - } - } - delete [] randomDocIndices; -} - -void MPIPYPTopics::synchronise() { - // Synchronise the topic->word counds across the processes. - //for (std::vector<MPIPYPs>::iterator levelIt=m_word_pyps.begin(); - // levelIt != m_word_pyps.end(); ++levelIt) { -// std::vector<MPIPYPs>::iterator levelIt=m_word_pyps.begin(); -// { -// for (MPIPYPs::iterator pypIt=levelIt->begin(); pypIt != levelIt->end(); ++pypIt) { - for (size_t label=0; label < m_word_pyps.at(0).size(); ++label) { - MPIPYP<int>& pyp = m_word_pyps.at(0).at(label); - - //if (!m_am_root) boost::mpi::communicator().barrier(); - //std::cerr << "Before Sync Process " << m_rank << ":"; - //pyp.debug_info(std::cerr); std::cerr << std::endl; - //if (m_am_root) boost::mpi::communicator().barrier(); - - MPIPYP<int>::dish_delta_type delta; - pyp.synchronise(&delta); - - for (MPIPYP<int>::dish_delta_type::const_iterator it=delta.begin(); it != delta.end(); ++it) { - int count = it->second; - if (count > 0) - for (int i=0; i < count; ++i) increment(it->first, label); - if (count < 0) - for (int i=0; i > count; --i) decrement(it->first, label); - } - pyp.reset_deltas(); - - //if (!m_am_root) boost::mpi::communicator().barrier(); - //std::cerr << "After Sync Process " << m_rank << ":"; - //pyp.debug_info(std::cerr); std::cerr << std::endl; - //if (m_am_root) boost::mpi::communicator().barrier(); - } -// } - // Synchronise the hierarchical topic pyp - MPIPYP<int>::dish_delta_type topic_delta; - m_topic_pyp.synchronise(&topic_delta); - for (MPIPYP<int>::dish_delta_type::const_iterator it=topic_delta.begin(); it != topic_delta.end(); ++it) { - int count = it->second; - if (count > 0) - for (int i=0; i < count; ++i) - m_topic_pyp.increment(it->first, m_topic_p0, rnd); - if (count < 0) - for (int i=0; i > count; --i) - m_topic_pyp.decrement(it->first, rnd); - } - m_topic_pyp.reset_deltas(); -} - -void MPIPYPTopics::decrement(const Term& term, int topic, int level) { - //std::cerr << "MPIPYPTopics::decrement(" << term << "," << topic << "," << level << ")" << std::endl; - m_word_pyps.at(level).at(topic).decrement(term, rnd); - if (m_backoff.get()) { - Term backoff_term = (*m_backoff)[term]; - if (!m_backoff->is_null(backoff_term)) - decrement(backoff_term, topic, level+1); - } -} - -void MPIPYPTopics::increment(const Term& term, int topic, int level) { - //std::cerr << "MPIPYPTopics::increment(" << term << "," << topic << "," << level << ")" << std::endl; - m_word_pyps.at(level).at(topic).increment(term, word_pyps_p0(term, topic, level), rnd); - - if (m_backoff.get()) { - Term backoff_term = (*m_backoff)[term]; - if (!m_backoff->is_null(backoff_term)) - increment(backoff_term, topic, level+1); - } -} - -int MPIPYPTopics::sample(const DocumentId& doc, const Term& term) { - // First pass: collect probs - F sum=0.0; - std::vector<F> sums; - for (int k=0; k<m_num_topics; ++k) { - F p_w_k = prob(term, k); - - F topic_prob = m_topic_p0; - if (m_use_topic_pyp) topic_prob = m_topic_pyp.prob(k, m_topic_p0); - - //F p_k_d = m_document_pyps[doc].prob(k, topic_prob); - F p_k_d = m_document_pyps.at(doc).unnormalised_prob(k, topic_prob); - - sum += (p_w_k*p_k_d); - sums.push_back(sum); - } - // Second pass: sample a topic - F cutoff = rnd() * sum; - for (int k=0; k<m_num_topics; ++k) { - if (cutoff <= sums[k]) - return k; - } - std::cerr << cutoff << " " << sum << std::endl; - assert(false); -} - -MPIPYPTopics::F MPIPYPTopics::word_pyps_p0(const Term& term, int topic, int level) const { - //for (int i=0; i<level+1; ++i) std::cerr << " "; - //std::cerr << "MPIPYPTopics::word_pyps_p0(" << term << "," << topic << "," << level << ")" << std::endl; - - F p0 = m_term_p0; - if (m_backoff.get()) { - //static F fudge=m_backoff_p0; // TODO - - Term backoff_term = (*m_backoff)[term]; - if (!m_backoff->is_null(backoff_term)) { - assert (level < m_backoff->order()); - //p0 = (1.0/(double)m_backoff->terms_at_level(level))*prob(backoff_term, topic, level+1); - p0 = prob(backoff_term, topic, level+1); - } - else - p0 = m_term_p0; - } - //for (int i=0; i<level+1; ++i) std::cerr << " "; - //std::cerr << "MPIPYPTopics::word_pyps_p0(" << term << "," << topic << "," << level << ") = " << p0 << std::endl; - return p0; -} - -MPIPYPTopics::F MPIPYPTopics::prob(const Term& term, int topic, int level) const { - //for (int i=0; i<level+1; ++i) std::cerr << " "; - //std::cerr << "MPIPYPTopics::prob(" << term << "," << topic << "," << level << " " << factor << ")" << std::endl; - - F p0 = word_pyps_p0(term, topic, level); - F p_w_k = m_word_pyps.at(level).at(topic).prob(term, p0); - - //for (int i=0; i<level+1; ++i) std::cerr << " "; - //std::cerr << "MPIPYPTopics::prob(" << term << "," << topic << "," << level << ") = " << p_w_k << std::endl; - - return p_w_k; -} - -int MPIPYPTopics::max_topic() const { - if (!m_use_topic_pyp) - return -1; - - F current_max=0.0; - int current_topic=-1; - for (int k=0; k<m_num_topics; ++k) { - F prob = m_topic_pyp.prob(k, m_topic_p0); - if (prob > current_max) { - current_max = prob; - current_topic = k; - } - } - assert(current_topic >= 0); - assert(current_max >= 0); - return current_max; -} - -std::pair<int,MPIPYPTopics::F> MPIPYPTopics::max(const DocumentId& true_doc) const { - //std::cerr << "MPIPYPTopics::max(" << doc << "," << term << ")" << std::endl; - // collect probs - F current_max=0.0; - DocumentId local_doc = true_doc - m_mpi_start; - int current_topic=-1; - for (int k=0; k<m_num_topics; ++k) { - //F p_w_k = prob(term, k); - - F topic_prob = m_topic_p0; - if (m_use_topic_pyp) - topic_prob = m_topic_pyp.prob(k, m_topic_p0); - - F prob = 0; - if (local_doc < 0) prob = topic_prob; - else prob = m_document_pyps.at(local_doc).prob(k, topic_prob); - - if (prob > current_max) { - current_max = prob; - current_topic = k; - } - } - assert(current_topic >= 0); - assert(current_max >= 0); - return std::make_pair(current_topic, current_max); -} - -std::pair<int,MPIPYPTopics::F> MPIPYPTopics::max(const DocumentId& true_doc, const Term& term) const { - //std::cerr << "MPIPYPTopics::max(" << doc << "," << term << ")" << std::endl; - // collect probs - F current_max=0.0; - DocumentId local_doc = true_doc - m_mpi_start; - int current_topic=-1; - for (int k=0; k<m_num_topics; ++k) { - F p_w_k = prob(term, k); - - F topic_prob = m_topic_p0; - if (m_use_topic_pyp) - topic_prob = m_topic_pyp.prob(k, m_topic_p0); - - F p_k_d = 0; - if (local_doc < 0) p_k_d = topic_prob; - else p_k_d = m_document_pyps.at(local_doc).prob(k, topic_prob); - - F prob = (p_w_k*p_k_d); - if (prob > current_max) { - current_max = prob; - current_topic = k; - } - } - assert(current_topic >= 0); - assert(current_max >= 0); - return std::make_pair(current_topic, current_max); -} - -std::ostream& MPIPYPTopics::print_document_topics(std::ostream& out) const { - for (CorpusTopics::const_iterator corpusIt=m_corpus_topics.begin(); - corpusIt != m_corpus_topics.end(); ++corpusIt) { - int term_index=0; - for (DocumentTopics::const_iterator docIt=corpusIt->begin(); - docIt != corpusIt->end(); ++docIt, ++term_index) { - if (term_index) out << " "; - out << *docIt; - } - out << std::endl; - } - return out; -} - -std::ostream& MPIPYPTopics::print_topic_terms(std::ostream& out) const { - for (PYPs::const_iterator pypsIt=m_word_pyps.front().begin(); - pypsIt != m_word_pyps.front().end(); ++pypsIt) { - int term_index=0; - for (PYP<int>::const_iterator termIt=pypsIt->begin(); - termIt != pypsIt->end(); ++termIt, ++term_index) { - if (term_index) out << " "; - out << termIt->first << ":" << termIt->second; - } - out << std::endl; - } - return out; -} diff --git a/gi/pyp-topics/src/mpi-pyp-topics.hh b/gi/pyp-topics/src/mpi-pyp-topics.hh deleted file mode 100644 index d96bc4e5..00000000 --- a/gi/pyp-topics/src/mpi-pyp-topics.hh +++ /dev/null @@ -1,106 +0,0 @@ -#ifndef MPI_PYP_TOPICS_HH -#define MPI_PYP_TOPICS_HH - -#include <vector> -#include <iostream> - -#include <boost/ptr_container/ptr_vector.hpp> -#include <boost/random/uniform_real.hpp> -#include <boost/random/variate_generator.hpp> -#include <boost/random/mersenne_twister.hpp> -#include <boost/random/inversive_congruential.hpp> -#include <boost/random/linear_congruential.hpp> -#include <boost/random/lagged_fibonacci.hpp> -#include <boost/mpi/environment.hpp> -#include <boost/mpi/communicator.hpp> - - -#include "mpi-pyp.hh" -#include "mpi-corpus.hh" - -class MPIPYPTopics { -public: - typedef std::vector<int> DocumentTopics; - typedef std::vector<DocumentTopics> CorpusTopics; - typedef double F; - -public: - MPIPYPTopics(int num_topics, bool use_topic_pyp=false, unsigned long seed = 0) - : m_num_topics(num_topics), m_word_pyps(1), - m_topic_pyp(0.5,1.0), m_use_topic_pyp(use_topic_pyp), - m_seed(seed), - uni_dist(0,1), rng(seed == 0 ? (unsigned long)this : seed), - rnd(rng, uni_dist), m_mpi_start(-1), m_mpi_end(-1) { - boost::mpi::communicator m_world; - m_rank = m_world.rank(); - m_size = m_world.size(); - m_am_root = (m_rank == 0); - } - - void sample_corpus(const MPICorpus& corpus, int samples, - int freq_cutoff_start=0, int freq_cutoff_end=0, - int freq_cutoff_interval=0, - int max_contexts_per_document=0); - - int sample(const DocumentId& doc, const Term& term); - std::pair<int,F> max(const DocumentId& doc, const Term& term) const; - std::pair<int,F> max(const DocumentId& doc) const; - int max_topic() const; - - void set_backoff(const std::string& filename) { - m_backoff.reset(new TermBackoff); - m_backoff->read(filename); - m_word_pyps.clear(); - m_word_pyps.resize(m_backoff->order(), MPIPYPs()); - } - void set_backoff(TermBackoffPtr backoff) { - m_backoff = backoff; - m_word_pyps.clear(); - m_word_pyps.resize(m_backoff->order(), MPIPYPs()); - } - - F prob(const Term& term, int topic, int level=0) const; - void decrement(const Term& term, int topic, int level=0); - void increment(const Term& term, int topic, int level=0); - - std::ostream& print_document_topics(std::ostream& out) const; - std::ostream& print_topic_terms(std::ostream& out) const; - - void synchronise(); - -private: - F word_pyps_p0(const Term& term, int topic, int level) const; - - int m_num_topics; - F m_term_p0, m_topic_p0, m_backoff_p0; - - CorpusTopics m_corpus_topics; - typedef boost::ptr_vector< PYP<int> > PYPs; - typedef boost::ptr_vector< MPIPYP<int> > MPIPYPs; - PYPs m_document_pyps; - std::vector<MPIPYPs> m_word_pyps; - MPIPYP<int> m_topic_pyp; - bool m_use_topic_pyp; - - unsigned long m_seed; - - //typedef boost::mt19937 base_generator_type; - //typedef boost::hellekalek1995 base_generator_type; - typedef boost::lagged_fibonacci607 base_generator_type; - typedef boost::uniform_real<> uni_dist_type; - typedef boost::variate_generator<base_generator_type&, uni_dist_type> gen_type; - - uni_dist_type uni_dist; - base_generator_type rng; //this gets the seed - gen_type rnd; //instantiate: rnd(rng, uni_dist) - //call: rnd() generates uniform on [0,1) - - TermBackoffPtr m_backoff; - - boost::mpi::communicator m_world; - bool m_am_root; - int m_rank, m_size; - int m_mpi_start, m_mpi_end; -}; - -#endif // PYP_TOPICS_HH diff --git a/gi/pyp-topics/src/mpi-pyp.hh b/gi/pyp-topics/src/mpi-pyp.hh deleted file mode 100644 index c2341b9e..00000000 --- a/gi/pyp-topics/src/mpi-pyp.hh +++ /dev/null @@ -1,447 +0,0 @@ -#ifndef _mpipyp_hh -#define _mpipyp_hh - -#include <math.h> -#include <map> -#include <tr1/unordered_map> -//#include <google/sparse_hash_map> - -#include <boost/random/uniform_real.hpp> -#include <boost/random/variate_generator.hpp> -#include <boost/random/mersenne_twister.hpp> -#include <boost/tuple/tuple.hpp> -#include <boost/serialization/map.hpp> -#include <boost/mpi.hpp> -#include <boost/mpi/environment.hpp> -#include <boost/mpi/communicator.hpp> -#include <boost/mpi/operations.hpp> - - -#include "pyp.hh" - -// -// Pitman-Yor process with customer and table tracking -// - -template <typename Dish, typename Hash=std::tr1::hash<Dish> > -class MPIPYP : public PYP<Dish, Hash> { -public: - typedef std::map<Dish, int> dish_delta_type; - - MPIPYP(double a, double b, Hash hash=Hash()); - - template < typename Uniform01 > - int increment(Dish d, double p0, Uniform01& rnd); - template < typename Uniform01 > - int decrement(Dish d, Uniform01& rnd); - - void clear(); - void reset_deltas(); - - void synchronise(dish_delta_type* result); - -private: - typedef std::map<Dish, typename PYP<Dish,Hash>::TableCounter> table_delta_type; - - dish_delta_type m_count_delta; - table_delta_type m_table_delta; -}; - -template <typename Dish, typename Hash> -MPIPYP<Dish,Hash>::MPIPYP(double a, double b, Hash h) -: PYP<Dish,Hash>(a, b, 0, h) {} - -template <typename Dish, typename Hash> - template <typename Uniform01> -int -MPIPYP<Dish,Hash>::increment(Dish dish, double p0, Uniform01& rnd) { - //std::cerr << "-----INCREMENT DISH " << dish << std::endl; - int delta = 0; - int table_joined=-1; - typename PYP<Dish,Hash>::TableCounter &tc = PYP<Dish,Hash>::_dish_tables[dish]; - - // seated on a new or existing table? - int c = PYP<Dish,Hash>::count(dish); - int t = PYP<Dish,Hash>::num_tables(dish); - int T = PYP<Dish,Hash>::num_tables(); - double& a = PYP<Dish,Hash>::_a; - double& b = PYP<Dish,Hash>::_b; - double pshare = (c > 0) ? (c - a*t) : 0.0; - double pnew = (b + a*T) * p0; - if (pshare < 0.0) { - std::cerr << pshare << " " << c << " " << a << " " << t << std::endl; - assert(false); - } - - if (rnd() < pnew / (pshare + pnew)) { - // assign to a new table - tc.tables += 1; - tc.table_histogram[1] += 1; - PYP<Dish,Hash>::_total_tables += 1; - delta = 1; - table_joined = 1; - } - else { - // randomly assign to an existing table - // remove constant denominator from inner loop - double r = rnd() * (c - a*t); - for (std::map<int,int>::iterator - hit = tc.table_histogram.begin(); - hit != tc.table_histogram.end(); ++hit) { - r -= ((hit->first - a) * hit->second); - if (r <= 0) { - tc.table_histogram[hit->first+1] += 1; - hit->second -= 1; - table_joined = hit->first+1; - if (hit->second == 0) - tc.table_histogram.erase(hit); - break; - } - } - if (r > 0) { - std::cerr << r << " " << c << " " << a << " " << t << std::endl; - assert(false); - } - delta = 0; - } - - std::tr1::unordered_map<Dish,int,Hash>::operator[](dish) += 1; - //google::sparse_hash_map<Dish,int,Hash>::operator[](dish) += 1; - PYP<Dish,Hash>::_total_customers += 1; - - // MPI Delta handling - // track the customer entering - typename dish_delta_type::iterator customer_it; - bool customer_insert_result; - boost::tie(customer_it, customer_insert_result) - = m_count_delta.insert(std::make_pair(dish,0)); - - customer_it->second += 1; - if (customer_it->second == 0) - m_count_delta.erase(customer_it); - - // increment the histogram bar for the table joined - /* - typename PYP<Dish,Hash>::TableCounter &delta_tc = m_table_delta[dish]; - - std::map<int,int> &histogram = delta_tc.table_histogram; - assert (table_joined > 0); - - typename std::map<int,int>::iterator table_it; bool table_insert_result; - boost::tie(table_it, table_insert_result) = histogram.insert(std::make_pair(table_joined,0)); - table_it->second += 1; - if (delta == 0) { - // decrement the histogram bar for the table left - typename std::map<int,int>::iterator left_table_it; - boost::tie(left_table_it, table_insert_result) - = histogram.insert(std::make_pair(table_joined-1,0)); - left_table_it->second -= 1; - if (left_table_it->second == 0) histogram.erase(left_table_it); - } - else delta_tc.tables += 1; - - if (table_it->second == 0) histogram.erase(table_it); - - //std::cerr << "Added (" << delta << ") " << dish << " to table " << table_joined << "\n"; - //std::cerr << "Dish " << dish << " has " << count(dish) << " customers, and is sitting at " << PYP<Dish,Hash>::num_tables(dish) << " tables.\n"; - //for (std::map<int,int>::const_iterator - // hit = delta_tc.table_histogram.begin(); - // hit != delta_tc.table_histogram.end(); ++hit) { - // std::cerr << " " << hit->second << " tables with " << hit->first << " customers." << std::endl; - //} - //std::cerr << "Added (" << delta << ") " << dish << " to table " << table_joined << "\n"; - //std::cerr << "Dish " << dish << " has " << count(dish) << " customers, and is sitting at " << PYP<Dish,Hash>::num_tables(dish) << " tables.\n"; - int x_num_customers=0, x_num_table=0; - for (std::map<int,int>::const_iterator - hit = delta_tc.table_histogram.begin(); - hit != delta_tc.table_histogram.end(); ++hit) { - x_num_table += hit->second; - x_num_customers += (hit->second*hit->first); - } - int tmp_c = PYP<Dish,Hash>::count(dish); - int tmp_t = PYP<Dish,Hash>::num_tables(dish); - assert (x_num_customers <= tmp_c); - assert (x_num_table <= tmp_t); - - if (delta_tc.table_histogram.empty()) { - assert (delta_tc.tables == 0); - m_table_delta.erase(dish); - } - */ - - //PYP<Dish,Hash>::debug_info(std::cerr); - //std::cerr << " Dish " << dish << " has count " << PYP<Dish,Hash>::count(dish) << " tables " << PYP<Dish,Hash>::num_tables(dish) << std::endl; - - return delta; -} - -template <typename Dish, typename Hash> - template <typename Uniform01> -int -MPIPYP<Dish,Hash>::decrement(Dish dish, Uniform01& rnd) -{ - //std::cerr << "-----DECREMENT DISH " << dish << std::endl; - typename std::tr1::unordered_map<Dish, int>::iterator dcit = find(dish); - //typename google::sparse_hash_map<Dish, int>::iterator dcit = find(dish); - if (dcit == PYP<Dish,Hash>::end()) { - std::cerr << dish << std::endl; - assert(false); - } - - int delta = 0, table_left=-1; - - typename std::tr1::unordered_map<Dish, typename PYP<Dish,Hash>::TableCounter>::iterator dtit - = PYP<Dish,Hash>::_dish_tables.find(dish); - //typename google::sparse_hash_map<Dish, TableCounter>::iterator dtit = _dish_tables.find(dish); - if (dtit == PYP<Dish,Hash>::_dish_tables.end()) { - std::cerr << dish << std::endl; - assert(false); - } - typename PYP<Dish,Hash>::TableCounter &tc = dtit->second; - - double r = rnd() * PYP<Dish,Hash>::count(dish); - for (std::map<int,int>::iterator hit = tc.table_histogram.begin(); - hit != tc.table_histogram.end(); ++hit) { - r -= (hit->first * hit->second); - if (r <= 0) { - table_left = hit->first; - if (hit->first > 1) { - tc.table_histogram[hit->first-1] += 1; - } - else { - delta = -1; - tc.tables -= 1; - PYP<Dish,Hash>::_total_tables -= 1; - } - - hit->second -= 1; - if (hit->second == 0) tc.table_histogram.erase(hit); - break; - } - } - if (r > 0) { - std::cerr << r << " " << PYP<Dish,Hash>::count(dish) << " " << PYP<Dish,Hash>::_a << " " - << PYP<Dish,Hash>::num_tables(dish) << std::endl; - assert(false); - } - - // remove the customer - dcit->second -= 1; - PYP<Dish,Hash>::_total_customers -= 1; - assert(dcit->second >= 0); - if (dcit->second == 0) { - PYP<Dish,Hash>::erase(dcit); - PYP<Dish,Hash>::_dish_tables.erase(dtit); - } - - // MPI Delta processing - typename dish_delta_type::iterator it; - bool insert_result; - boost::tie(it, insert_result) = m_count_delta.insert(std::make_pair(dish,0)); - it->second -= 1; - if (it->second == 0) m_count_delta.erase(it); - - assert (table_left > 0); - typename PYP<Dish,Hash>::TableCounter& delta_tc = m_table_delta[dish]; - if (table_left > 1) { - std::map<int,int>::iterator tit; - boost::tie(tit, insert_result) = delta_tc.table_histogram.insert(std::make_pair(table_left-1,0)); - tit->second += 1; - if (tit->second == 0) delta_tc.table_histogram.erase(tit); - } - else delta_tc.tables -= 1; - - std::map<int,int>::iterator tit; - boost::tie(tit, insert_result) = delta_tc.table_histogram.insert(std::make_pair(table_left,0)); - tit->second -= 1; - if (tit->second == 0) delta_tc.table_histogram.erase(tit); - - // std::cerr << "Dish " << dish << " has " << count(dish) << " customers, and is sitting at " << PYP<Dish,Hash>::num_tables(dish) << " tables.\n"; - // for (std::map<int,int>::const_iterator - // hit = delta_tc.table_histogram.begin(); - // hit != delta_tc.table_histogram.end(); ++hit) { - // std::cerr << " " << hit->second << " tables with " << hit->first << " customers." << std::endl; - // } - int x_num_customers=0, x_num_table=0; - for (std::map<int,int>::const_iterator - hit = delta_tc.table_histogram.begin(); - hit != delta_tc.table_histogram.end(); ++hit) { - x_num_table += hit->second; - x_num_customers += (hit->second*hit->first); - } - int tmp_c = PYP<Dish,Hash>::count(dish); - int tmp_t = PYP<Dish,Hash>::num_tables(dish); - assert (x_num_customers <= tmp_c); - assert (x_num_table <= tmp_t); - - if (delta_tc.table_histogram.empty()) { - // std::cerr << " DELETING " << dish << std::endl; - assert (delta_tc.tables == 0); - m_table_delta.erase(dish); - } - - //PYP<Dish,Hash>::debug_info(std::cerr); - //std::cerr << " Dish " << dish << " has count " << PYP<Dish,Hash>::count(dish) << " tables " << PYP<Dish,Hash>::num_tables(dish) << std::endl; - return delta; -} - -template <typename Dish, typename Hash> -void -MPIPYP<Dish,Hash>::clear() { - PYP<Dish,Hash>::clear(); - reset_deltas(); -} - -template <typename Dish, typename Hash> -void -MPIPYP<Dish,Hash>::reset_deltas() { - m_count_delta.clear(); - m_table_delta.clear(); -} - -template <typename Dish> -struct sum_maps { - typedef std::map<Dish,int> map_type; - map_type& operator() (map_type& l, map_type const & r) const { - for (typename map_type::const_iterator it=r.begin(); it != r.end(); it++) - l[it->first] += it->second; - return l; - } -}; - -template <typename Dish> -struct subtract_maps { - typedef std::map<Dish,int> map_type; - map_type& operator() (map_type& l, map_type const & r) const { - for (typename map_type::const_iterator it=r.begin(); it != r.end(); it++) - l[it->first] -= it->second; - return l; - } -}; - -// Needed Boost definitions -namespace boost { - namespace mpi { - template <> - struct is_commutative< sum_maps<int>, std::map<int,int> > : mpl::true_ {}; - } - - namespace serialization { - template<class Archive> - void serialize(Archive & ar, PYP<int>::TableCounter& t, const unsigned int version) { - ar & t.table_histogram; - ar & t.tables; - } - - } // namespace serialization -} // namespace boost - -template <typename A, typename B, typename C> -struct triple { - triple() {} - triple(const A& a, const B& b, const C& c) : first(a), second(b), third(c) {} - A first; - B second; - C third; - - template<class Archive> - void serialize(Archive &ar, const unsigned int version){ - ar & first; - ar & second; - ar & third; - } -}; - -BOOST_IS_BITWISE_SERIALIZABLE(MPIPYP<int>::dish_delta_type) -BOOST_CLASS_TRACKING(MPIPYP<int>::dish_delta_type,track_never) - -template <typename Dish, typename Hash> -void -MPIPYP<Dish,Hash>::synchronise(dish_delta_type* result) { - boost::mpi::communicator world; - //int rank = world.rank(), size = world.size(); - - boost::mpi::all_reduce(world, m_count_delta, *result, sum_maps<Dish>()); - subtract_maps<Dish>()(*result, m_count_delta); - -/* - // communicate the customer count deltas - dish_delta_type global_dish_delta; - boost::mpi::all_reduce(world, m_count_delta, global_dish_delta, sum_maps<Dish>()); - - // update this restaurant - for (typename dish_delta_type::const_iterator it=global_dish_delta.begin(); - it != global_dish_delta.end(); ++it) { - int global_delta = it->second - m_count_delta[it->first]; - if (global_delta == 0) continue; - typename std::tr1::unordered_map<Dish,int,Hash>::iterator dit; bool inserted; - boost::tie(dit, inserted) - = std::tr1::unordered_map<Dish,int,Hash>::insert(std::make_pair(it->first, 0)); - dit->second += global_delta; - assert(dit->second >= 0); - if (dit->second == 0) { - std::tr1::unordered_map<Dish,int,Hash>::erase(dit); - } - - PYP<Dish,Hash>::_total_customers += (it->second - m_count_delta[it->first]); - int tmp = PYP<Dish,Hash>::_total_customers; - assert(tmp >= 0); - //std::cerr << "Process " << rank << " adding " << (it->second - m_count_delta[it->first]) << " of customer " << it->first << std::endl; - } -*/ -/* - // communicate the table count deltas - for (int process = 0; process < size; ++process) { - typename std::vector< triple<Dish, int, int> > message; - if (rank == process) { - // broadcast deltas - for (typename table_delta_type::const_iterator dish_it=m_table_delta.begin(); - dish_it != m_table_delta.end(); ++dish_it) { - //assert (dish_it->second.tables > 0); - for (std::map<int,int>::const_iterator it=dish_it->second.table_histogram.begin(); - it != dish_it->second.table_histogram.end(); ++it) { - triple<Dish, int, int> m(dish_it->first, it->first, it->second); - message.push_back(m); - } - // append a special message with the total table delta for this dish - triple<Dish, int, int> m(dish_it->first, -1, dish_it->second.tables); - message.push_back(m); - } - boost::mpi::broadcast(world, message, process); - } - else { - // receive deltas - boost::mpi::broadcast(world, message, process); - for (typename std::vector< triple<Dish, int, int> >::const_iterator it=message.begin(); it != message.end(); ++it) { - typename PYP<Dish,Hash>::TableCounter& tc = PYP<Dish,Hash>::_dish_tables[it->first]; - if (it->second >= 0) { - std::map<int,int>::iterator tit; bool inserted; - boost::tie(tit, inserted) = tc.table_histogram.insert(std::make_pair(it->second, 0)); - tit->second += it->third; - if (tit->second < 0) { - std::cerr << tit->first << " " << tit->second << " " << it->first << " " << it->second << " " << it->third << std::endl; - assert(tit->second >= 0); - } - if (tit->second == 0) { - tc.table_histogram.erase(tit); - } - } - else { - tc.tables += it->third; - PYP<Dish,Hash>::_total_tables += it->third; - assert(tc.tables >= 0); - if (tc.tables == 0) assert(tc.table_histogram.empty()); - if (tc.table_histogram.empty()) { - assert (tc.tables == 0); - PYP<Dish,Hash>::_dish_tables.erase(it->first); - } - } - } - } - } -*/ - -// reset_deltas(); -} - -#endif diff --git a/gi/pyp-topics/src/mpi-train-contexts.cc b/gi/pyp-topics/src/mpi-train-contexts.cc deleted file mode 100644 index e05e0eac..00000000 --- a/gi/pyp-topics/src/mpi-train-contexts.cc +++ /dev/null @@ -1,201 +0,0 @@ -// STL -#include <iostream> -#include <fstream> -#include <algorithm> -#include <iterator> - -// Boost -#include <boost/program_options/parsers.hpp> -#include <boost/program_options/variables_map.hpp> -#include <boost/scoped_ptr.hpp> -#include <boost/mpi/environment.hpp> -#include <boost/mpi/communicator.hpp> -#include <boost/lexical_cast.hpp> - -// Local -#include "mpi-pyp-topics.hh" -#include "corpus.hh" -#include "mpi-corpus.hh" -#include "gzstream.hh" - -static const char *REVISION = "$Rev: 170 $"; - -// Namespaces -using namespace boost; -using namespace boost::program_options; -using namespace std; - -int main(int argc, char **argv) -{ - mpi::environment env(argc, argv); - mpi::communicator world; - int rank = world.rank(); - bool am_root = (rank==0); - if (am_root) cout << "Pitman Yor topic models: Copyright 2010 Phil Blunsom\n"; - if (am_root) std::cout << "I am process " << world.rank() << " of " << world.size() << "." << std::endl; - if (am_root) cout << REVISION << '\n' <<endl; - - //////////////////////////////////////////////////////////////////////////////////////////// - // Command line processing - variables_map vm; - - // Command line processing - { - options_description cmdline_specific("Command line specific options"); - cmdline_specific.add_options() - ("help,h", "print help message") - ("config,c", value<string>(), "config file specifying additional command line options") - ; - options_description config_options("Allowed options"); - config_options.add_options() - ("help,h", "print help message") - ("data,d", value<string>(), "file containing the documents and context terms") - ("topics,t", value<int>()->default_value(50), "number of topics") - ("document-topics-out,o", value<string>(), "file to write the document topics to") - ("default-topics-out", value<string>(), "file to write default term topic assignments.") - ("topic-words-out,w", value<string>(), "file to write the topic word distribution to") - ("samples,s", value<int>()->default_value(10), "number of sampling passes through the data") - ("backoff-type", value<string>(), "backoff type: none|simple") -// ("filter-singleton-contexts", "filter singleton contexts") - ("hierarchical-topics", "Use a backoff hierarchical PYP as the P0 for the document topics distribution.") - ("binary-counts,b", "Use binary rather than integer counts for contexts.") - ("freq-cutoff-start", value<int>()->default_value(0), "initial frequency cutoff.") - ("freq-cutoff-end", value<int>()->default_value(0), "final frequency cutoff.") - ("freq-cutoff-interval", value<int>()->default_value(0), "number of iterations between frequency decrement.") - ("max-contexts-per-document", value<int>()->default_value(0), "Only sample the n most frequent contexts for a document.") - ; - - cmdline_specific.add(config_options); - - store(parse_command_line(argc, argv, cmdline_specific), vm); - notify(vm); - - if (vm.count("config") > 0) { - ifstream config(vm["config"].as<string>().c_str()); - store(parse_config_file(config, config_options), vm); - } - - if (vm.count("help")) { - cout << cmdline_specific << "\n"; - return 1; - } - } - //////////////////////////////////////////////////////////////////////////////////////////// - - if (!vm.count("data")) { - cerr << "Please specify a file containing the data." << endl; - return 1; - } - - // seed the random number generator: 0 = automatic, specify value otherwise - unsigned long seed = 0; - MPIPYPTopics model(vm["topics"].as<int>(), vm.count("hierarchical-topics"), seed); - - // read the data - BackoffGenerator* backoff_gen=0; - if (vm.count("backoff-type")) { - if (vm["backoff-type"].as<std::string>() == "none") { - backoff_gen = 0; - } - else if (vm["backoff-type"].as<std::string>() == "simple") { - backoff_gen = new SimpleBackoffGenerator(); - } - else { - cerr << "Backoff type (--backoff-type) must be one of none|simple." <<endl; - return(1); - } - } - - //ContextsCorpus contexts_corpus; - MPICorpus contexts_corpus; - contexts_corpus.read_contexts(vm["data"].as<string>(), backoff_gen, /*vm.count("filter-singleton-contexts")*/ false, vm.count("binary-counts")); - int mpi_start = 0, mpi_end = 0; - contexts_corpus.bounds(&mpi_start, &mpi_end); - std::cerr << "\tProcess " << rank << " has documents " << mpi_start << " -> " << mpi_end << "." << std::endl; - - model.set_backoff(contexts_corpus.backoff_index()); - - if (backoff_gen) - delete backoff_gen; - - // train the sampler - model.sample_corpus(contexts_corpus, vm["samples"].as<int>(), - vm["freq-cutoff-start"].as<int>(), - vm["freq-cutoff-end"].as<int>(), - vm["freq-cutoff-interval"].as<int>(), - vm["max-contexts-per-document"].as<int>()); - - if (vm.count("document-topics-out")) { - std::ofstream documents_out((vm["document-topics-out"].as<string>() + ".pyp-process-" + boost::lexical_cast<std::string>(rank)).c_str()); - //int documents = contexts_corpus.num_documents(); - /* - int mpi_start = 0, mpi_end = documents; - if (world.size() != 1) { - mpi_start = (documents / world.size()) * rank; - if (rank == world.size()-1) mpi_end = documents; - else mpi_end = (documents / world.size())*(rank+1); - } - */ - - map<int,int> all_terms; - for (int document_id=mpi_start; document_id<mpi_end; ++document_id) { - assert (document_id < contexts_corpus.num_documents()); - const Document& doc = contexts_corpus.at(document_id); - vector<int> unique_terms; - for (Document::const_iterator docIt=doc.begin(); docIt != doc.end(); ++docIt) { - if (unique_terms.empty() || *docIt != unique_terms.back()) - unique_terms.push_back(*docIt); - // increment this terms frequency - pair<map<int,int>::iterator,bool> insert_result = all_terms.insert(make_pair(*docIt,1)); - if (!insert_result.second) - all_terms[*docIt] = all_terms[*docIt] + 1; - } - documents_out << contexts_corpus.key(document_id) << '\t'; - documents_out << model.max(document_id).first << " " << doc.size() << " ||| "; - for (std::vector<int>::const_iterator termIt=unique_terms.begin(); termIt != unique_terms.end(); ++termIt) { - if (termIt != unique_terms.begin()) - documents_out << " ||| "; - vector<std::string> strings = contexts_corpus.context2string(*termIt); - copy(strings.begin(), strings.end(),ostream_iterator<std::string>(documents_out, " ")); - std::pair<int,MPIPYPTopics::F> maxinfo = model.max(document_id, *termIt); - documents_out << "||| C=" << maxinfo.first << " P=" << maxinfo.second; - } - documents_out <<endl; - } - documents_out.close(); - world.barrier(); - - if (am_root) { - ogzstream root_documents_out(vm["document-topics-out"].as<string>().c_str()); - for (int p=0; p < world.size(); ++p) { - std::string rank_p_prefix((vm["document-topics-out"].as<string>() + ".pyp-process-" + boost::lexical_cast<std::string>(p)).c_str()); - std::ifstream rank_p_trees_istream(rank_p_prefix.c_str(), std::ios_base::binary); - root_documents_out << rank_p_trees_istream.rdbuf(); - rank_p_trees_istream.close(); - remove((rank_p_prefix).c_str()); - } - root_documents_out.close(); - } - - if (am_root && vm.count("default-topics-out")) { - ofstream default_topics(vm["default-topics-out"].as<string>().c_str()); - default_topics << model.max_topic() <<endl; - for (std::map<int,int>::const_iterator termIt=all_terms.begin(); termIt != all_terms.end(); ++termIt) { - vector<std::string> strings = contexts_corpus.context2string(termIt->first); - default_topics << model.max(-1, termIt->first).first << " ||| " << termIt->second << " ||| "; - copy(strings.begin(), strings.end(),ostream_iterator<std::string>(default_topics, " ")); - default_topics <<endl; - } - } - } - - if (am_root && vm.count("topic-words-out")) { - ogzstream topics_out(vm["topic-words-out"].as<string>().c_str()); - model.print_topic_terms(topics_out); - topics_out.close(); - } - - cout <<endl; - - return 0; -} diff --git a/gi/pyp-topics/src/mt19937ar.c b/gi/pyp-topics/src/mt19937ar.c deleted file mode 100644 index 6551ea39..00000000 --- a/gi/pyp-topics/src/mt19937ar.c +++ /dev/null @@ -1,194 +0,0 @@ -/* - A C-program for MT19937, with initialization improved 2002/1/26. - Coded by Takuji Nishimura and Makoto Matsumoto. - - Before using, initialize the state by using mt_init_genrand(seed) - or mt_init_by_array(init_key, key_length). - - Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. The names of its contributors may not be used to endorse or promote - products derived from this software without specific prior written - permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Any feedback is very welcome. - http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html - email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space) -*/ - -#include "mt19937ar.h" /* XXX MJ 17th March 2006 */ - -/* Period parameters */ -#define N 624 -#define M 397 -#define MATRIX_A 0x9908b0dfUL /* constant vector a */ -#define UPPER_MASK 0x80000000UL /* most significant w-r bits */ -#define LOWER_MASK 0x7fffffffUL /* least significant r bits */ - -static unsigned long mt[N]; /* the array for the state vector */ -static int mti=N+1; /* mti==N+1 means mt[N] is not initialized */ - -/* initializes mt[N] with a seed */ -void mt_init_genrand(unsigned long s) -{ - mt[0]= s & 0xffffffffUL; - for (mti=1; mti<N; mti++) { - mt[mti] = - (1812433253UL * (mt[mti-1] ^ (mt[mti-1] >> 30)) + mti); - /* See Knuth TAOCP Vol2. 3rd Ed. P.106 for multiplier. */ - /* In the previous versions, MSBs of the seed affect */ - /* only MSBs of the array mt[]. */ - /* 2002/01/09 modified by Makoto Matsumoto */ - mt[mti] &= 0xffffffffUL; - /* for >32 bit machines */ - } -} - -/* initialize by an array with array-length */ -/* init_key is the array for initializing keys */ -/* key_length is its length */ -/* slight change for C++, 2004/2/26 */ -void mt_init_by_array(unsigned long init_key[], int key_length) -{ - int i, j, k; - mt_init_genrand(19650218UL); - i=1; j=0; - k = (N>key_length ? N : key_length); - for (; k; k--) { - mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 30)) * 1664525UL)) - + init_key[j] + j; /* non linear */ - mt[i] &= 0xffffffffUL; /* for WORDSIZE > 32 machines */ - i++; j++; - if (i>=N) { mt[0] = mt[N-1]; i=1; } - if (j>=key_length) j=0; - } - for (k=N-1; k; k--) { - mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 30)) * 1566083941UL)) - - i; /* non linear */ - mt[i] &= 0xffffffffUL; /* for WORDSIZE > 32 machines */ - i++; - if (i>=N) { mt[0] = mt[N-1]; i=1; } - } - - mt[0] = 0x80000000UL; /* MSB is 1; assuring non-zero initial array */ -} - -/* generates a random number on [0,0xffffffff]-interval */ -unsigned long mt_genrand_int32(void) -{ - unsigned long y; - static unsigned long mag01[2]={0x0UL, MATRIX_A}; - /* mag01[x] = x * MATRIX_A for x=0,1 */ - - if (mti >= N) { /* generate N words at one time */ - int kk; - - if (mti == N+1) /* if mt_init_genrand() has not been called, */ - mt_init_genrand(5489UL); /* a default initial seed is used */ - - for (kk=0;kk<N-M;kk++) { - y = (mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK); - mt[kk] = mt[kk+M] ^ (y >> 1) ^ mag01[y & 0x1UL]; - } - for (;kk<N-1;kk++) { - y = (mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK); - mt[kk] = mt[kk+(M-N)] ^ (y >> 1) ^ mag01[y & 0x1UL]; - } - y = (mt[N-1]&UPPER_MASK)|(mt[0]&LOWER_MASK); - mt[N-1] = mt[M-1] ^ (y >> 1) ^ mag01[y & 0x1UL]; - - mti = 0; - } - - y = mt[mti++]; - - /* Tempering */ - y ^= (y >> 11); - y ^= (y << 7) & 0x9d2c5680UL; - y ^= (y << 15) & 0xefc60000UL; - y ^= (y >> 18); - - return y; -} - -/* generates a random number on [0,0x7fffffff]-interval */ -long mt_genrand_int31(void) -{ - return (long)( mt_genrand_int32()>>1); -} - -/* generates a random number on [0,1]-real-interval */ -double mt_genrand_real1(void) -{ - return mt_genrand_int32()*(1.0/4294967295.0); - /* divided by 2^32-1 */ -} - -/* generates a random number on [0,1)-real-interval */ -double mt_genrand_real2(void) -{ - return mt_genrand_int32()*(1.0/4294967296.0); - /* divided by 2^32 */ -} - -/* generates a random number on (0,1)-real-interval */ -double mt_genrand_real3(void) -{ - return (((double) mt_genrand_int32()) + 0.5)*(1.0/4294967296.0); - /* divided by 2^32 */ -} - -/* generates a random number on [0,1) with 53-bit resolution*/ -double mt_genrand_res53(void) -{ - unsigned long a=mt_genrand_int32()>>5, b=mt_genrand_int32()>>6; - return(a*67108864.0+b)*(1.0/9007199254740992.0); -} -/* These real versions are due to Isaku Wada, 2002/01/09 added */ - -/* -#include <stdio.h> - -int main(void) -{ - int i; - unsigned long init[4]={0x123, 0x234, 0x345, 0x456}, length=4; - mt_init_by_array(init, length); - printf("1000 outputs of genrand_int32()\n"); - for (i=0; i<1000; i++) { - printf("%10lu ", mt_genrand_int32()); - if (i%5==4) printf("\n"); - } - printf("\n1000 outputs of genrand_real2()\n"); - for (i=0; i<1000; i++) { - printf("%10.8f ", mt_genrand_real2()); - if (i%5==4) printf("\n"); - } - return 0; -} -*/ diff --git a/gi/pyp-topics/src/mt19937ar.h b/gi/pyp-topics/src/mt19937ar.h deleted file mode 100644 index caab4045..00000000 --- a/gi/pyp-topics/src/mt19937ar.h +++ /dev/null @@ -1,44 +0,0 @@ -/* mt19937ar.h - * - * Mark Johnson, 17th March 2006 - */ - -#ifndef MT19937AR_H -#define MT19937AR_H - -#ifdef __cplusplus -extern "C" { -#endif - - /* initializes mt[N] with a seed */ - void mt_init_genrand(unsigned long s); - - /* initialize by an array with array-length */ - /* init_key is the array for initializing keys */ - /* key_length is its length */ - /* slight change for C++, 2004/2/26 */ - void mt_init_by_array(unsigned long init_key[], int key_length); - - /* generates a random number on [0,0xffffffff]-interval */ - unsigned long mt_genrand_int32(void); - - /* generates a random number on [0,0x7fffffff]-interval */ - long mt_genrand_int31(void); - - /* generates a random number on [0,1]-real-interval */ - double mt_genrand_real1(void); - - /* generates a random number on [0,1)-real-interval */ - double mt_genrand_real2(void); - - /* generates a random number on (0,1)-real-interval */ - double mt_genrand_real3(void); - - /* generates a random number on [0,1) with 53-bit resolution*/ - double mt_genrand_res53(void); - -#ifdef __cplusplus -}; -#endif - -#endif /* MT19937AR_H */ diff --git a/gi/pyp-topics/src/pyp-topics.cc b/gi/pyp-topics/src/pyp-topics.cc deleted file mode 100644 index 4de52fd7..00000000 --- a/gi/pyp-topics/src/pyp-topics.cc +++ /dev/null @@ -1,499 +0,0 @@ -#include "timing.h" -#include "pyp-topics.hh" -#include "contexts_corpus.hh" - -//Dict const *dict; - -//#include <boost/date_time/posix_time/posix_time_types.hpp> -void PYPTopics::sample_corpus(const Corpus& corpus, int samples, - int freq_cutoff_start, int freq_cutoff_end, - int freq_cutoff_interval, - int max_contexts_per_document, - F temp_start, F temp_end) { - Timer timer; - //dict = &((ContextsCorpus*) &corpus)->dict(); - - if (!m_backoff.get()) { - m_word_pyps.clear(); - m_word_pyps.push_back(PYPs()); - } - - std::cerr << "\n Training with " << m_word_pyps.size()-1 << " backoff level" - << (m_word_pyps.size()==2 ? ":" : "s:") << std::endl; - - - for (int i=0; i<(int)m_word_pyps.size(); ++i) - { - m_word_pyps.at(i).reserve(m_num_topics); - for (int j=0; j<m_num_topics; ++j) - m_word_pyps.at(i).push_back(new PYP<int>(0.01, 1.0, m_seed)); - } - std::cerr << std::endl; - - m_document_pyps.reserve(corpus.num_documents()); - for (int j=0; j<corpus.num_documents(); ++j) - m_document_pyps.push_back(new PYP<int>(0.01, 1.0, m_seed)); - - m_topic_p0 = 1.0/m_num_topics; - m_term_p0 = 1.0/(F)m_backoff->terms_at_level(m_word_pyps.size()-1); - //m_term_p0 = 1.0/corpus.num_types(); - m_backoff_p0 = 1.0/corpus.num_documents(); - - std::cerr << " Documents: " << corpus.num_documents() << " Terms: " - << corpus.num_types() << std::endl; - - int frequency_cutoff = freq_cutoff_start; - std::cerr << " Context frequency cutoff set to " << frequency_cutoff << std::endl; - - timer.Reset(); - // Initialisation pass - int document_id=0, topic_counter=0; - for (Corpus::const_iterator corpusIt=corpus.begin(); - corpusIt != corpus.end(); ++corpusIt, ++document_id) { - m_corpus_topics.push_back(DocumentTopics(corpusIt->size(), 0)); - - int term_index=0; - for (Document::const_iterator docIt=corpusIt->begin(); - docIt != corpusIt->end(); ++docIt, ++term_index) { - topic_counter++; - Term term = *docIt; - - // sample a new_topic - //int new_topic = (topic_counter % m_num_topics); - int freq = corpus.context_count(term); - int new_topic = -1; - if (freq > frequency_cutoff - && (!max_contexts_per_document || term_index < max_contexts_per_document)) { - //new_topic = sample(document_id, term); - //new_topic = document_id % m_num_topics; - new_topic = (int) (rnd() * m_num_topics); - - // add the new topic to the PYPs - increment(term, new_topic); - - if (m_use_topic_pyp) { - F p0 = m_topic_pyp.prob(new_topic, m_topic_p0); - int table_delta = m_document_pyps[document_id].increment(new_topic, p0); - if (table_delta) - m_topic_pyp.increment(new_topic, m_topic_p0); - } - else m_document_pyps[document_id].increment(new_topic, m_topic_p0); - } - - m_corpus_topics[document_id][term_index] = new_topic; - } - } - std::cerr << " Initialized in " << timer.Elapsed() << " seconds\n"; - - int* randomDocIndices = new int[corpus.num_documents()]; - for (int i = 0; i < corpus.num_documents(); ++i) - randomDocIndices[i] = i; - - if (num_jobs < max_threads) - num_jobs = max_threads; - int job_incr = (int) ( (float)m_document_pyps.size() / float(num_jobs) ); - - // Sampling phase - for (int curr_sample=0; curr_sample < samples; ++curr_sample) { - if (freq_cutoff_interval > 0 && curr_sample != 1 - && curr_sample % freq_cutoff_interval == 1 - && frequency_cutoff > freq_cutoff_end) { - frequency_cutoff--; - std::cerr << "\n Context frequency cutoff set to " << frequency_cutoff << std::endl; - } - - F temp = 1.0 / (temp_start - curr_sample*(temp_start-temp_end)/samples); - std::cerr << "\n -- Sample " << curr_sample << " (T=" << temp << ") "; std::cerr.flush(); - - // Randomize the corpus indexing array - int tmp; - int processed_terms=0; - /* - for (int i = corpus.num_documents()-1; i > 0; --i) - { - //i+1 since j \in [0,i] but rnd() \in [0,1) - int j = (int)(rnd() * (i+1)); - assert(j >= 0 && j <= i); - tmp = randomDocIndices[i]; - randomDocIndices[i] = randomDocIndices[j]; - randomDocIndices[j] = tmp; - } - */ - - // for each document in the corpus - int document_id; - for (int i=0; i<corpus.num_documents(); ++i) { - document_id = randomDocIndices[i]; - - // for each term in the document - int term_index=0; - Document::const_iterator docEnd = corpus.at(document_id).end(); - for (Document::const_iterator docIt=corpus.at(document_id).begin(); - docIt != docEnd; ++docIt, ++term_index) { - if (max_contexts_per_document && term_index > max_contexts_per_document) - break; - - Term term = *docIt; - - int freq = corpus.context_count(term); - if (freq < frequency_cutoff) - continue; - - processed_terms++; - - // remove the prevous topic from the PYPs - int current_topic = m_corpus_topics[document_id][term_index]; - // a negative label mean that term hasn't been sampled yet - if (current_topic >= 0) { - decrement(term, current_topic); - - int table_delta = m_document_pyps[document_id].decrement(current_topic); - if (m_use_topic_pyp && table_delta < 0) - m_topic_pyp.decrement(current_topic); - } - - // sample a new_topic - int new_topic = sample(document_id, term, temp); - //std::cerr << "TERM: " << dict->Convert(term) << " (" << term << ") " << " Old Topic: " - // << current_topic << " New Topic: " << new_topic << "\n" << std::endl; - - // add the new topic to the PYPs - m_corpus_topics[document_id][term_index] = new_topic; - increment(term, new_topic); - - if (m_use_topic_pyp) { - F p0 = m_topic_pyp.prob(new_topic, m_topic_p0); - int table_delta = m_document_pyps[document_id].increment(new_topic, p0); - if (table_delta) - m_topic_pyp.increment(new_topic, m_topic_p0); - } - else m_document_pyps[document_id].increment(new_topic, m_topic_p0); - } - if (document_id && document_id % 10000 == 0) { - std::cerr << "."; std::cerr.flush(); - } - } - std::cerr << " ||| LLH= " << log_likelihood(); - - if (curr_sample != 0 && curr_sample % 10 == 0) { - //if (true) { - std::cerr << " ||| time=" << (timer.Elapsed() / 10.0) << " sec/sample" << std::endl; - timer.Reset(); - std::cerr << " ... Resampling hyperparameters ("; - - // resample the hyperparamters - F log_p=0.0; - if (max_threads == 1) - { - std::cerr << "1 thread)" << std::endl; std::cerr.flush(); - log_p += hresample_topics(); - log_p += hresample_docs(0, m_document_pyps.size()); - } - else - { //parallelize - std::cerr << max_threads << " threads, " << num_jobs << " jobs)" << std::endl; std::cerr.flush(); - - WorkerPool<JobReturnsF, F> pool(max_threads); - int i=0, sz = m_document_pyps.size(); - //documents... - while (i <= sz - 2*job_incr) - { - JobReturnsF job = boost::bind(&PYPTopics::hresample_docs, this, i, i+job_incr); - pool.addJob(job); - i += job_incr; - } - // do all remaining documents - JobReturnsF job = boost::bind(&PYPTopics::hresample_docs, this, i,sz); - pool.addJob(job); - - //topics... - JobReturnsF topics_job = boost::bind(&PYPTopics::hresample_topics, this); - pool.addJob(topics_job); - - log_p += pool.get_result(); //blocks - - } - - if (m_use_topic_pyp) { - m_topic_pyp.resample_prior(rnd); - log_p += m_topic_pyp.log_restaurant_prob(); - } - - std::cerr.precision(10); - std::cerr << " ||| LLH=" << log_likelihood() << " ||| resampling time=" << timer.Elapsed() << " sec" << std::endl; - timer.Reset(); - - int k=0; - std::cerr << "Topics distribution: "; - std::cerr.precision(2); - for (PYPs::iterator pypIt=m_word_pyps.front().begin(); - pypIt != m_word_pyps.front().end(); ++pypIt, ++k) { - if (k % 5 == 0) std::cerr << std::endl << '\t'; - std::cerr << "<" << k << ":" << pypIt->num_customers() << "," - << pypIt->num_types() << "," << m_topic_pyp.prob(k, m_topic_p0) << "> "; - } - std::cerr.precision(10); - std::cerr << std::endl; - } - } - delete [] randomDocIndices; -} - -PYPTopics::F PYPTopics::hresample_docs(int start, int end) -{ - int resample_counter=0; - F log_p = 0.0; - assert(start >= 0); - assert(end >= 0); - assert(start <= end); - for (int i=start; i < end; ++i) - { - m_document_pyps[i].resample_prior(rnd); - log_p += m_document_pyps[i].log_restaurant_prob(); - if (resample_counter++ % 5000 == 0) { - std::cerr << "."; std::cerr.flush(); - } - } - return log_p; -} - -PYPTopics::F PYPTopics::hresample_topics() -{ - F log_p = 0.0; - for (std::vector<PYPs>::iterator levelIt=m_word_pyps.begin(); - levelIt != m_word_pyps.end(); ++levelIt) { - for (PYPs::iterator pypIt=levelIt->begin(); - pypIt != levelIt->end(); ++pypIt) { - - pypIt->resample_prior(rnd); - log_p += pypIt->log_restaurant_prob(); - } - std::cerr << log_p << std::endl; - } - return log_p; -} - -PYPTopics::F PYPTopics::log_likelihood() const -{ - F log_p = 0.0; - - // LLH of topic term distribution - size_t i=0; - for (std::vector<PYPs>::const_iterator levelIt=m_word_pyps.begin(); - levelIt != m_word_pyps.end(); ++levelIt, ++i) { - for (PYPs::const_iterator pypIt=levelIt->begin(); - pypIt != levelIt->end(); ++pypIt, ++i) { - log_p += pypIt->log_restaurant_prob(); - - if (i == m_word_pyps.size()-1) - log_p += (pypIt->num_tables() * -log(m_backoff->terms_at_level(i))); - else - log_p += (pypIt->num_tables() * log(m_term_p0)); - } - } - std::cerr << " TERM LLH: " << log_p << " "; //std::endl; - - // LLH of document topic distribution - for (size_t i=0; i < m_document_pyps.size(); ++i) { - log_p += m_document_pyps[i].log_restaurant_prob(); - if (!m_use_topic_pyp) log_p += (m_document_pyps[i].num_tables() * m_topic_p0); - } - if (m_use_topic_pyp) { - log_p += m_topic_pyp.log_restaurant_prob(); - log_p += (m_topic_pyp.num_tables() * log(m_topic_p0)); - } - - return log_p; -} - -void PYPTopics::decrement(const Term& term, int topic, int level) { - //std::cerr << "PYPTopics::decrement(" << term << "," << topic << "," << level << ")" << std::endl; - int table_delta = m_word_pyps.at(level).at(topic).decrement(term); - if (table_delta && m_backoff.get()) { - Term backoff_term = (*m_backoff)[term]; - if (!m_backoff->is_null(backoff_term)) - decrement(backoff_term, topic, level+1); - } -} - -void PYPTopics::increment(const Term& term, int topic, int level) { - //std::cerr << "PYPTopics::increment(" << term << "," << topic << "," << level << ")" << std::endl; - int table_delta = m_word_pyps.at(level).at(topic).increment(term, word_pyps_p0(term, topic, level)); - - if (table_delta && m_backoff.get()) { - Term backoff_term = (*m_backoff)[term]; - if (!m_backoff->is_null(backoff_term)) - increment(backoff_term, topic, level+1); - } -} - -int PYPTopics::sample(const DocumentId& doc, const Term& term, F inv_temp) { - // First pass: collect probs - F sum=0.0; - std::vector<F> sums; - for (int k=0; k<m_num_topics; ++k) { - F p_w_k = prob(term, k); - - F topic_prob = m_topic_p0; - if (m_use_topic_pyp) topic_prob = m_topic_pyp.prob(k, m_topic_p0); - - //F p_k_d = m_document_pyps[doc].prob(k, topic_prob); - F p_k_d = m_document_pyps[doc].unnormalised_prob(k, topic_prob); - - F prob = p_w_k*p_k_d; - /* - if (prob < 0.0) { std::cerr << "\n\n" << prob << " " << p_w_k << " " << p_k_d << std::endl; assert(false); } - if (prob > 1.0) { std::cerr << "\n\n" << prob << " " << p_w_k << " " << p_k_d << std::endl; assert(false); } - assert (pow(prob, inv_temp) >= 0.0); - assert (pow(prob, inv_temp) <= 1.0); - */ - sum += pow(prob, inv_temp); - sums.push_back(sum); - } - // Second pass: sample a topic - F cutoff = rnd() * sum; - for (int k=0; k<m_num_topics; ++k) { - if (cutoff <= sums[k]) - return k; - } - assert(false); -} - -PYPTopics::F PYPTopics::word_pyps_p0(const Term& term, int topic, int level) const { - //for (int i=0; i<level+1; ++i) std::cerr << " "; - //std::cerr << "PYPTopics::word_pyps_p0(" << term << "," << topic << "," << level << ")" << std::endl; - - F p0 = m_term_p0; - if (m_backoff.get()) { - //static F fudge=m_backoff_p0; // TODO - - Term backoff_term = (*m_backoff)[term]; - //std::cerr << "T: " << term << " BO: " << backoff_term << std::endl; - if (!m_backoff->is_null(backoff_term)) { - assert (level < m_backoff->order()); - //p0 = (1.0/(F)m_backoff->terms_at_level(level))*prob(backoff_term, topic, level+1); - p0 = m_term_p0*prob(backoff_term, topic, level+1); - p0 = prob(backoff_term, topic, level+1); - } - else - p0 = (1.0/(F) m_backoff->terms_at_level(level)); - //p0 = m_term_p0; - } - //for (int i=0; i<level+1; ++i) std::cerr << " "; - //std::cerr << "PYPTopics::word_pyps_p0(" << term << "," << topic << "," << level << ") = " << p0 << std::endl; - return p0; -} - -PYPTopics::F PYPTopics::prob(const Term& term, int topic, int level) const { - //for (int i=0; i<level+1; ++i) std::cerr << " "; - //std::cerr << "PYPTopics::prob(" << dict->Convert(term) << "," << topic << "," << level << ")" << std::endl; - - F p0 = word_pyps_p0(term, topic, level); - F p_w_k = m_word_pyps.at(level).at(topic).prob(term, p0); - - /* - for (int i=0; i<level+1; ++i) std::cerr << " "; - std::cerr << "PYPTopics::prob(" << dict->Convert(term) << "," << topic << "," << level << ") = " << p_w_k << std::endl; - for (int i=0; i<level+1; ++i) std::cerr << " "; - m_word_pyps.at(level).at(topic).debug_info(std::cerr); - */ - return p_w_k; -} - -int PYPTopics::max_topic() const { - if (!m_use_topic_pyp) - return -1; - - F current_max=0.0; - int current_topic=-1; - for (int k=0; k<m_num_topics; ++k) { - F prob = m_topic_pyp.prob(k, m_topic_p0); - if (prob > current_max) { - current_max = prob; - current_topic = k; - } - } - assert(current_topic >= 0); - return current_topic; -} - -std::pair<int,PYPTopics::F> PYPTopics::max(const DocumentId& doc) const { - //std::cerr << "PYPTopics::max(" << doc << "," << term << ")" << std::endl; - // collect probs - F current_max=0.0; - int current_topic=-1; - for (int k=0; k<m_num_topics; ++k) { - //F p_w_k = prob(term, k); - - F topic_prob = m_topic_p0; - if (m_use_topic_pyp) - topic_prob = m_topic_pyp.prob(k, m_topic_p0); - - F prob = 0; - if (doc < 0) prob = topic_prob; - else prob = m_document_pyps[doc].prob(k, topic_prob); - - if (prob > current_max) { - current_max = prob; - current_topic = k; - } - } - assert(current_topic >= 0); - assert(current_max >= 0); - return std::make_pair(current_topic, current_max); -} - -std::pair<int,PYPTopics::F> PYPTopics::max(const DocumentId& doc, const Term& term) const { - //std::cerr << "PYPTopics::max(" << doc << "," << term << ")" << std::endl; - // collect probs - F current_max=0.0; - int current_topic=-1; - for (int k=0; k<m_num_topics; ++k) { - F p_w_k = prob(term, k); - - F topic_prob = m_topic_p0; - if (m_use_topic_pyp) - topic_prob = m_topic_pyp.prob(k, m_topic_p0); - - F p_k_d = 0; - if (doc < 0) p_k_d = topic_prob; - else p_k_d = m_document_pyps[doc].prob(k, topic_prob); - - F prob = (p_w_k*p_k_d); - if (prob > current_max) { - current_max = prob; - current_topic = k; - } - } - assert(current_topic >= 0); - assert(current_max >= 0); - return std::make_pair(current_topic,current_max); -} - -std::ostream& PYPTopics::print_document_topics(std::ostream& out) const { - for (CorpusTopics::const_iterator corpusIt=m_corpus_topics.begin(); - corpusIt != m_corpus_topics.end(); ++corpusIt) { - int term_index=0; - for (DocumentTopics::const_iterator docIt=corpusIt->begin(); - docIt != corpusIt->end(); ++docIt, ++term_index) { - if (term_index) out << " "; - out << *docIt; - } - out << std::endl; - } - return out; -} - -std::ostream& PYPTopics::print_topic_terms(std::ostream& out) const { - for (PYPs::const_iterator pypsIt=m_word_pyps.front().begin(); - pypsIt != m_word_pyps.front().end(); ++pypsIt) { - int term_index=0; - for (PYP<int>::const_iterator termIt=pypsIt->begin(); - termIt != pypsIt->end(); ++termIt, ++term_index) { - if (term_index) out << " "; - out << termIt->first << ":" << termIt->second; - } - out << std::endl; - } - return out; -} diff --git a/gi/pyp-topics/src/pyp-topics.hh b/gi/pyp-topics/src/pyp-topics.hh deleted file mode 100644 index 3a910540..00000000 --- a/gi/pyp-topics/src/pyp-topics.hh +++ /dev/null @@ -1,98 +0,0 @@ -#ifndef PYP_TOPICS_HH -#define PYP_TOPICS_HH - -#include <vector> -#include <iostream> -#include <boost/ptr_container/ptr_vector.hpp> - -#include <boost/random/uniform_real.hpp> -#include <boost/random/variate_generator.hpp> -#include <boost/random/mersenne_twister.hpp> - -#include "pyp.hh" -#include "corpus.hh" -#include "workers.hh" - -class PYPTopics { -public: - typedef std::vector<int> DocumentTopics; - typedef std::vector<DocumentTopics> CorpusTopics; - typedef long double F; - -public: - PYPTopics(int num_topics, bool use_topic_pyp=false, unsigned long seed = 0, - int max_threads = 1, int num_jobs = 1) - : m_num_topics(num_topics), m_word_pyps(1), - m_topic_pyp(0.5,1.0,seed), m_use_topic_pyp(use_topic_pyp), - m_seed(seed), - uni_dist(0,1), rng(seed == 0 ? (unsigned long)this : seed), - rnd(rng, uni_dist), max_threads(max_threads), num_jobs(num_jobs) {} - - void sample_corpus(const Corpus& corpus, int samples, - int freq_cutoff_start=0, int freq_cutoff_end=0, - int freq_cutoff_interval=0, - int max_contexts_per_document=0, - F temp_start=1.0, F temp_end=1.0); - - int sample(const DocumentId& doc, const Term& term, F inv_temp=1.0); - std::pair<int,F> max(const DocumentId& doc, const Term& term) const; - std::pair<int,F> max(const DocumentId& doc) const; - int max_topic() const; - - void set_backoff(const std::string& filename) { - m_backoff.reset(new TermBackoff); - m_backoff->read(filename); - m_word_pyps.clear(); - m_word_pyps.resize(m_backoff->order(), PYPs()); - } - void set_backoff(TermBackoffPtr backoff) { - m_backoff = backoff; - m_word_pyps.clear(); - m_word_pyps.resize(m_backoff->order(), PYPs()); - } - - F prob(const Term& term, int topic, int level=0) const; - void decrement(const Term& term, int topic, int level=0); - void increment(const Term& term, int topic, int level=0); - - F log_likelihood() const; - - std::ostream& print_document_topics(std::ostream& out) const; - std::ostream& print_topic_terms(std::ostream& out) const; - -private: - F word_pyps_p0(const Term& term, int topic, int level) const; - - int m_num_topics; - F m_term_p0, m_topic_p0, m_backoff_p0; - - CorpusTopics m_corpus_topics; - typedef boost::ptr_vector< PYP<int> > PYPs; - PYPs m_document_pyps; - std::vector<PYPs> m_word_pyps; - PYP<int> m_topic_pyp; - bool m_use_topic_pyp; - - unsigned long m_seed; - - typedef boost::mt19937 base_generator_type; - typedef boost::uniform_real<> uni_dist_type; - typedef boost::variate_generator<base_generator_type&, uni_dist_type> gen_type; - - uni_dist_type uni_dist; - base_generator_type rng; //this gets the seed - gen_type rnd; //instantiate: rnd(rng, uni_dist) - //call: rnd() generates uniform on [0,1) - - typedef boost::function<F()> JobReturnsF; - - F hresample_docs(int start, int end); //does i in [start, end) - - F hresample_topics(); - - int max_threads; - int num_jobs; - TermBackoffPtr m_backoff; -}; - -#endif // PYP_TOPICS_HH diff --git a/gi/pyp-topics/src/pyp.hh b/gi/pyp-topics/src/pyp.hh deleted file mode 100644 index b1cb62be..00000000 --- a/gi/pyp-topics/src/pyp.hh +++ /dev/null @@ -1,566 +0,0 @@ -#ifndef _pyp_hh -#define _pyp_hh - -#include "slice-sampler.h" -#include <math.h> -#include <map> -#include <tr1/unordered_map> -//#include <google/sparse_hash_map> - -#include <boost/random/uniform_real.hpp> -#include <boost/random/variate_generator.hpp> -#include <boost/random/mersenne_twister.hpp> - -#include "log_add.h" -#include "mt19937ar.h" - -// -// Pitman-Yor process with customer and table tracking -// - -template <typename Dish, typename Hash=std::tr1::hash<Dish> > -class PYP : protected std::tr1::unordered_map<Dish, int, Hash> -//class PYP : protected google::sparse_hash_map<Dish, int, Hash> -{ -public: - using std::tr1::unordered_map<Dish,int>::const_iterator; - using std::tr1::unordered_map<Dish,int>::iterator; - using std::tr1::unordered_map<Dish,int>::begin; - using std::tr1::unordered_map<Dish,int>::end; -// using google::sparse_hash_map<Dish,int>::const_iterator; -// using google::sparse_hash_map<Dish,int>::iterator; -// using google::sparse_hash_map<Dish,int>::begin; -// using google::sparse_hash_map<Dish,int>::end; - - PYP(double a, double b, unsigned long seed = 0, Hash hash=Hash()); - - virtual int increment(Dish d, double p0); - virtual int decrement(Dish d); - - // lookup functions - int count(Dish d) const; - double prob(Dish dish, double p0) const; - double prob(Dish dish, double dcd, double dca, - double dtd, double dta, double p0) const; - double unnormalised_prob(Dish dish, double p0) const; - - int num_customers() const { return _total_customers; } - int num_types() const { return std::tr1::unordered_map<Dish,int>::size(); } - //int num_types() const { return google::sparse_hash_map<Dish,int>::size(); } - bool empty() const { return _total_customers == 0; } - - double log_prob(Dish dish, double log_p0) const; - // nb. d* are NOT logs - double log_prob(Dish dish, double dcd, double dca, - double dtd, double dta, double log_p0) const; - - int num_tables(Dish dish) const; - int num_tables() const; - - double a() const { return _a; } - void set_a(double a) { _a = a; } - - double b() const { return _b; } - void set_b(double b) { _b = b; } - - virtual void clear(); - std::ostream& debug_info(std::ostream& os) const; - - double log_restaurant_prob() const; - double log_prior() const; - static double log_prior_a(double a, double beta_a, double beta_b); - static double log_prior_b(double b, double gamma_c, double gamma_s); - - template <typename Uniform01> - void resample_prior(Uniform01& rnd); - template <typename Uniform01> - void resample_prior_a(Uniform01& rnd); - template <typename Uniform01> - void resample_prior_b(Uniform01& rnd); - -protected: - double _a, _b; // parameters of the Pitman-Yor distribution - double _a_beta_a, _a_beta_b; // parameters of Beta prior on a - double _b_gamma_s, _b_gamma_c; // parameters of Gamma prior on b - - struct TableCounter { - TableCounter() : tables(0) {}; - int tables; - std::map<int, int> table_histogram; // num customers at table -> number tables - }; - typedef std::tr1::unordered_map<Dish, TableCounter, Hash> DishTableType; - //typedef google::sparse_hash_map<Dish, TableCounter, Hash> DishTableType; - DishTableType _dish_tables; - int _total_customers, _total_tables; - - typedef boost::mt19937 base_generator_type; - typedef boost::uniform_real<> uni_dist_type; - typedef boost::variate_generator<base_generator_type&, uni_dist_type> gen_type; - -// uni_dist_type uni_dist; -// base_generator_type rng; //this gets the seed -// gen_type rnd; //instantiate: rnd(rng, uni_dist) - //call: rnd() generates uniform on [0,1) - - // Function objects for calculating the parts of the log_prob for - // the parameters a and b - struct resample_a_type { - int n, m; double b, a_beta_a, a_beta_b; - const DishTableType& dish_tables; - resample_a_type(int n, int m, double b, double a_beta_a, - double a_beta_b, const DishTableType& dish_tables) - : n(n), m(m), b(b), a_beta_a(a_beta_a), a_beta_b(a_beta_b), dish_tables(dish_tables) {} - - double operator() (double proposed_a) const { - double log_prior = log_prior_a(proposed_a, a_beta_a, a_beta_b); - double log_prob = 0.0; - double lgamma1a = lgamma(1.0 - proposed_a); - for (typename DishTableType::const_iterator dish_it=dish_tables.begin(); dish_it != dish_tables.end(); ++dish_it) - for (std::map<int, int>::const_iterator table_it=dish_it->second.table_histogram.begin(); - table_it !=dish_it->second.table_histogram.end(); ++table_it) - log_prob += (table_it->second * (lgamma(table_it->first - proposed_a) - lgamma1a)); - - log_prob += (proposed_a == 0.0 ? (m-1.0)*log(b) - : ((m-1.0)*log(proposed_a) + lgamma((m-1.0) + b/proposed_a) - lgamma(b/proposed_a))); - assert(std::isfinite(log_prob)); - return log_prob + log_prior; - } - }; - - struct resample_b_type { - int n, m; double a, b_gamma_c, b_gamma_s; - resample_b_type(int n, int m, double a, double b_gamma_c, double b_gamma_s) - : n(n), m(m), a(a), b_gamma_c(b_gamma_c), b_gamma_s(b_gamma_s) {} - - double operator() (double proposed_b) const { - double log_prior = log_prior_b(proposed_b, b_gamma_c, b_gamma_s); - double log_prob = 0.0; - log_prob += (a == 0.0 ? (m-1.0)*log(proposed_b) - : ((m-1.0)*log(a) + lgamma((m-1.0) + proposed_b/a) - lgamma(proposed_b/a))); - log_prob += (lgamma(1.0+proposed_b) - lgamma(n+proposed_b)); - return log_prob + log_prior; - } - }; - - /* lbetadist() returns the log probability density of x under a Beta(alpha,beta) - * distribution. - copied from Mark Johnson's gammadist.c - */ - static long double lbetadist(long double x, long double alpha, long double beta); - - /* lgammadist() returns the log probability density of x under a Gamma(alpha,beta) - * distribution - copied from Mark Johnson's gammadist.c - */ - static long double lgammadist(long double x, long double alpha, long double beta); - -}; - -template <typename Dish, typename Hash> -PYP<Dish,Hash>::PYP(double a, double b, unsigned long seed, Hash) -: std::tr1::unordered_map<Dish, int, Hash>(10), _a(a), _b(b), -//: google::sparse_hash_map<Dish, int, Hash>(10), _a(a), _b(b), - _a_beta_a(1), _a_beta_b(1), _b_gamma_s(1), _b_gamma_c(1), - //_a_beta_a(1), _a_beta_b(1), _b_gamma_s(10), _b_gamma_c(0.1), - _total_customers(0), _total_tables(0)//, - //uni_dist(0,1), rng(seed == 0 ? (unsigned long)this : seed), rnd(rng, uni_dist) -{ -// std::cerr << "\t##PYP<Dish,Hash>::PYP(a=" << _a << ",b=" << _b << ")" << std::endl; - //set_deleted_key(-std::numeric_limits<Dish>::max()); -} - -template <typename Dish, typename Hash> -double -PYP<Dish,Hash>::prob(Dish dish, double p0) const -{ - int c = count(dish), t = num_tables(dish); - double r = num_tables() * _a + _b; - //std::cerr << "\t\t\t\tPYP<Dish,Hash>::prob(" << dish << "," << p0 << ") c=" << c << " r=" << r << std::endl; - if (c > 0) - return (c - _a * t + r * p0) / (num_customers() + _b); - else - return r * p0 / (num_customers() + _b); -} - -template <typename Dish, typename Hash> -double -PYP<Dish,Hash>::unnormalised_prob(Dish dish, double p0) const -{ - int c = count(dish), t = num_tables(dish); - double r = num_tables() * _a + _b; - if (c > 0) return (c - _a * t + r * p0); - else return r * p0; -} - -template <typename Dish, typename Hash> -double -PYP<Dish,Hash>::prob(Dish dish, double dcd, double dca, - double dtd, double dta, double p0) -const -{ - int c = count(dish) + dcd, t = num_tables(dish) + dtd; - double r = (num_tables() + dta) * _a + _b; - if (c > 0) - return (c - _a * t + r * p0) / (num_customers() + dca + _b); - else - return r * p0 / (num_customers() + dca + _b); -} - -template <typename Dish, typename Hash> -double -PYP<Dish,Hash>::log_prob(Dish dish, double log_p0) const -{ - using std::log; - int c = count(dish), t = num_tables(dish); - double r = log(num_tables() * _a + b); - if (c > 0) - return Log<double>::add(log(c - _a * t), r + log_p0) - - log(num_customers() + _b); - else - return r + log_p0 - log(num_customers() + b); -} - -template <typename Dish, typename Hash> -double -PYP<Dish,Hash>::log_prob(Dish dish, double dcd, double dca, - double dtd, double dta, double log_p0) -const -{ - using std::log; - int c = count(dish) + dcd, t = num_tables(dish) + dtd; - double r = log((num_tables() + dta) * _a + b); - if (c > 0) - return Log<double>::add(log(c - _a * t), r + log_p0) - - log(num_customers() + dca + _b); - else - return r + log_p0 - log(num_customers() + dca + b); -} - -template <typename Dish, typename Hash> -int -PYP<Dish,Hash>::increment(Dish dish, double p0) { - int delta = 0; - TableCounter &tc = _dish_tables[dish]; - - // seated on a new or existing table? - int c = count(dish), t = num_tables(dish), T = num_tables(); - double pshare = (c > 0) ? (c - _a*t) : 0.0; - double pnew = (_b + _a*T) * p0; - assert (pshare >= 0.0); - //assert (pnew > 0.0); - - //if (rnd() < pnew / (pshare + pnew)) { - if (mt_genrand_res53() < pnew / (pshare + pnew)) { - // assign to a new table - tc.tables += 1; - tc.table_histogram[1] += 1; - _total_tables += 1; - delta = 1; - } - else { - // randomly assign to an existing table - // remove constant denominator from inner loop - //double r = rnd() * (c - _a*t); - double r = mt_genrand_res53() * (c - _a*t); - for (std::map<int,int>::iterator - hit = tc.table_histogram.begin(); - hit != tc.table_histogram.end(); ++hit) { - r -= ((hit->first - _a) * hit->second); - if (r <= 0) { - tc.table_histogram[hit->first+1] += 1; - hit->second -= 1; - if (hit->second == 0) - tc.table_histogram.erase(hit); - break; - } - } - if (r > 0) { - std::cerr << r << " " << c << " " << _a << " " << t << std::endl; - assert(false); - } - delta = 0; - } - - std::tr1::unordered_map<Dish,int,Hash>::operator[](dish) += 1; - //google::sparse_hash_map<Dish,int,Hash>::operator[](dish) += 1; - _total_customers += 1; - - return delta; -} - -template <typename Dish, typename Hash> -int -PYP<Dish,Hash>::count(Dish dish) const -{ - typename std::tr1::unordered_map<Dish, int>::const_iterator - //typename google::sparse_hash_map<Dish, int>::const_iterator - dcit = find(dish); - if (dcit != end()) - return dcit->second; - else - return 0; -} - -template <typename Dish, typename Hash> -int -PYP<Dish,Hash>::decrement(Dish dish) -{ - typename std::tr1::unordered_map<Dish, int>::iterator dcit = find(dish); - //typename google::sparse_hash_map<Dish, int>::iterator dcit = find(dish); - if (dcit == end()) { - std::cerr << dish << std::endl; - assert(false); - } - - int delta = 0; - - typename std::tr1::unordered_map<Dish, TableCounter>::iterator dtit = _dish_tables.find(dish); - //typename google::sparse_hash_map<Dish, TableCounter>::iterator dtit = _dish_tables.find(dish); - if (dtit == _dish_tables.end()) { - std::cerr << dish << std::endl; - assert(false); - } - TableCounter &tc = dtit->second; - - //std::cerr << "\tdecrement for " << dish << "\n"; - //std::cerr << "\tBEFORE histogram: " << tc.table_histogram << " "; - //std::cerr << "count: " << count(dish) << " "; - //std::cerr << "tables: " << tc.tables << "\n"; - - //double r = rnd() * count(dish); - double r = mt_genrand_res53() * count(dish); - for (std::map<int,int>::iterator hit = tc.table_histogram.begin(); - hit != tc.table_histogram.end(); ++hit) - { - //r -= (hit->first - _a) * hit->second; - r -= (hit->first) * hit->second; - if (r <= 0) - { - if (hit->first > 1) - tc.table_histogram[hit->first-1] += 1; - else - { - delta = -1; - tc.tables -= 1; - _total_tables -= 1; - } - - hit->second -= 1; - if (hit->second == 0) tc.table_histogram.erase(hit); - break; - } - } - if (r > 0) { - std::cerr << r << " " << count(dish) << " " << _a << " " << num_tables(dish) << std::endl; - assert(false); - } - - // remove the customer - dcit->second -= 1; - _total_customers -= 1; - assert(dcit->second >= 0); - if (dcit->second == 0) { - erase(dcit); - _dish_tables.erase(dtit); - //std::cerr << "\tAFTER histogram: Empty\n"; - } - else { - //std::cerr << "\tAFTER histogram: " << _dish_tables[dish].table_histogram << " "; - //std::cerr << "count: " << count(dish) << " "; - //std::cerr << "tables: " << _dish_tables[dish].tables << "\n"; - } - - return delta; -} - -template <typename Dish, typename Hash> -int -PYP<Dish,Hash>::num_tables(Dish dish) const -{ - typename std::tr1::unordered_map<Dish, TableCounter, Hash>::const_iterator - //typename google::sparse_hash_map<Dish, TableCounter, Hash>::const_iterator - dtit = _dish_tables.find(dish); - - //assert(dtit != _dish_tables.end()); - if (dtit == _dish_tables.end()) - return 0; - - return dtit->second.tables; -} - -template <typename Dish, typename Hash> -int -PYP<Dish,Hash>::num_tables() const -{ - return _total_tables; -} - -template <typename Dish, typename Hash> -std::ostream& -PYP<Dish,Hash>::debug_info(std::ostream& os) const -{ - int hists = 0, tables = 0; - for (typename std::tr1::unordered_map<Dish, TableCounter, Hash>::const_iterator - //for (typename google::sparse_hash_map<Dish, TableCounter, Hash>::const_iterator - dtit = _dish_tables.begin(); dtit != _dish_tables.end(); ++dtit) - { - hists += dtit->second.table_histogram.size(); - tables += dtit->second.tables; - -// if (dtit->second.tables <= 0) -// std::cerr << dtit->first << " " << count(dtit->first) << std::endl; - assert(dtit->second.tables > 0); - assert(!dtit->second.table_histogram.empty()); - -// os << "Dish " << dtit->first << " has " << count(dtit->first) << " customers, and is sitting at " << dtit->second.tables << " tables.\n"; - for (std::map<int,int>::const_iterator - hit = dtit->second.table_histogram.begin(); - hit != dtit->second.table_histogram.end(); ++hit) { -// os << " " << hit->second << " tables with " << hit->first << " customers." << std::endl; - assert(hit->second > 0); - } - } - - os << "restaurant has " - << _total_customers << " customers; " - << _total_tables << " tables; " - << tables << " tables'; " - << num_types() << " dishes; " - << _dish_tables.size() << " dishes'; and " - << hists << " histogram entries\n"; - - return os; -} - -template <typename Dish, typename Hash> -void -PYP<Dish,Hash>::clear() -{ - this->std::tr1::unordered_map<Dish,int,Hash>::clear(); - //this->google::sparse_hash_map<Dish,int,Hash>::clear(); - _dish_tables.clear(); - _total_tables = _total_customers = 0; -} - -// log_restaurant_prob returns the log probability of the PYP table configuration. -// Excludes Hierarchical P0 term which must be calculated separately. -template <typename Dish, typename Hash> -double -PYP<Dish,Hash>::log_restaurant_prob() const { - if (_total_customers < 1) - return (double)0.0; - - double log_prob = 0.0; - double lgamma1a = lgamma(1.0-_a); - - //std::cerr << "-------------------\n" << std::endl; - for (typename DishTableType::const_iterator dish_it=_dish_tables.begin(); - dish_it != _dish_tables.end(); ++dish_it) { - for (std::map<int, int>::const_iterator table_it=dish_it->second.table_histogram.begin(); - table_it !=dish_it->second.table_histogram.end(); ++table_it) { - log_prob += (table_it->second * (lgamma(table_it->first - _a) - lgamma1a)); - //std::cerr << "|" << dish_it->first->parent << " --> " << dish_it->first->rhs << " " << table_it->first << " " << table_it->second << " " << log_prob; - } - } - //std::cerr << std::endl; - - log_prob += (_a == (double)0.0 ? (_total_tables-1.0)*log(_b) : (_total_tables-1.0)*log(_a) + lgamma((_total_tables-1.0) + _b/_a) - lgamma(_b/_a)); - //std::cerr << "\t\t" << log_prob << std::endl; - log_prob += (lgamma(1.0 + _b) - lgamma(_total_customers + _b)); - - //std::cerr << _total_customers << " " << _total_tables << " " << log_prob << " " << log_prior() << std::endl; - //std::cerr << _a << " " << _b << std::endl; - if (!std::isfinite(log_prob)) { - assert(false); - } - //return log_prob; - if (log_prob > 0.0) - std::cerr << log_prob << std::endl; - return log_prob;// + log_prior(); -} - -template <typename Dish, typename Hash> -double -PYP<Dish,Hash>::log_prior() const { - double prior = 0.0; - if (_a_beta_a > 0.0 && _a_beta_b > 0.0 && _a > 0.0) - prior += log_prior_a(_a, _a_beta_a, _a_beta_b); - if (_b_gamma_s > 0.0 && _b_gamma_c > 0.0) - prior += log_prior_b(_b, _b_gamma_c, _b_gamma_s); - - return prior; -} - -template <typename Dish, typename Hash> -double -PYP<Dish,Hash>::log_prior_a(double a, double beta_a, double beta_b) { - return lbetadist(a, beta_a, beta_b); -} - -template <typename Dish, typename Hash> -double -PYP<Dish,Hash>::log_prior_b(double b, double gamma_c, double gamma_s) { - return lgammadist(b, gamma_c, gamma_s); -} - -template <typename Dish, typename Hash> -long double PYP<Dish,Hash>::lbetadist(long double x, long double alpha, long double beta) { - assert(x > 0); - assert(x < 1); - assert(alpha > 0); - assert(beta > 0); - return (alpha-1)*log(x)+(beta-1)*log(1-x)+lgamma(alpha+beta)-lgamma(alpha)-lgamma(beta); -//boost::math::lgamma -} - -template <typename Dish, typename Hash> -long double PYP<Dish,Hash>::lgammadist(long double x, long double alpha, long double beta) { - assert(alpha > 0); - assert(beta > 0); - return (alpha-1)*log(x) - alpha*log(beta) - x/beta - lgamma(alpha); -} - - -template <typename Dish, typename Hash> - template <typename Uniform01> -void -PYP<Dish,Hash>::resample_prior(Uniform01& rnd) { - for (int num_its=5; num_its >= 0; --num_its) { - resample_prior_b(rnd); - resample_prior_a(rnd); - } - resample_prior_b(rnd); -} - -template <typename Dish, typename Hash> - template <typename Uniform01> -void -PYP<Dish,Hash>::resample_prior_b(Uniform01& rnd) { - if (_total_tables == 0) - return; - - //int niterations = 10; // number of resampling iterations - int niterations = 5; // number of resampling iterations - //std::cerr << "\n## resample_prior_b(), initial a = " << _a << ", b = " << _b << std::endl; - resample_b_type b_log_prob(_total_customers, _total_tables, _a, _b_gamma_c, _b_gamma_s); - _b = slice_sampler1d(b_log_prob, _b, rnd, (double) 0.0, std::numeric_limits<double>::infinity(), - //_b = slice_sampler1d(b_log_prob, _b, mt_genrand_res53, (double) 0.0, std::numeric_limits<double>::infinity(), - (double) 0.0, niterations, 100*niterations); - //std::cerr << "\n## resample_prior_b(), final a = " << _a << ", b = " << _b << std::endl; -} - -template <typename Dish, typename Hash> - template <typename Uniform01> -void -PYP<Dish,Hash>::resample_prior_a(Uniform01& rnd) { - if (_total_tables == 0) - return; - - //int niterations = 10; - int niterations = 5; - //std::cerr << "\n## Initial a = " << _a << ", b = " << _b << std::endl; - resample_a_type a_log_prob(_total_customers, _total_tables, _b, _a_beta_a, _a_beta_b, _dish_tables); - _a = slice_sampler1d(a_log_prob, _a, rnd, std::numeric_limits<double>::min(), - //_a = slice_sampler1d(a_log_prob, _a, mt_genrand_res53, std::numeric_limits<double>::min(), - (double) 1.0, (double) 0.0, niterations, 100*niterations); -} - -#endif diff --git a/gi/pyp-topics/src/slice-sampler.h b/gi/pyp-topics/src/slice-sampler.h deleted file mode 100644 index 3108a0f7..00000000 --- a/gi/pyp-topics/src/slice-sampler.h +++ /dev/null @@ -1,192 +0,0 @@ -//! slice-sampler.h is an MCMC slice sampler -//! -//! Mark Johnson, 1st August 2008 - -#ifndef SLICE_SAMPLER_H -#define SLICE_SAMPLER_H - -#include <algorithm> -#include <cassert> -#include <cmath> -#include <iostream> -#include <limits> - -//! slice_sampler_rfc_type{} returns the value of a user-specified -//! function if the argument is within range, or - infinity otherwise -// -template <typename F, typename Fn, typename U> -struct slice_sampler_rfc_type { - F min_x, max_x; - const Fn& f; - U max_nfeval, nfeval; - slice_sampler_rfc_type(F min_x, F max_x, const Fn& f, U max_nfeval) - : min_x(min_x), max_x(max_x), f(f), max_nfeval(max_nfeval), nfeval(0) { } - - F operator() (F x) { - if (min_x < x && x < max_x) { - assert(++nfeval <= max_nfeval); - F fx = f(x); - assert(std::isfinite(fx)); - return fx; - } - else - return -std::numeric_limits<F>::infinity(); - } -}; // slice_sampler_rfc_type{} - -//! slice_sampler1d() implements the univariate "range doubling" slice sampler -//! described in Neal (2003) "Slice Sampling", The Annals of Statistics 31(3), 705-767. -// -template <typename F, typename LogF, typename Uniform01> -F slice_sampler1d(const LogF& logF0, //!< log of function to sample - F x, //!< starting point - Uniform01& u01, //!< uniform [0,1) random number generator - F min_x = -std::numeric_limits<F>::infinity(), //!< minimum value of support - F max_x = std::numeric_limits<F>::infinity(), //!< maximum value of support - F w = 0.0, //!< guess at initial width - unsigned nsamples=1, //!< number of samples to draw - unsigned max_nfeval=200) //!< max number of function evaluations -{ - typedef unsigned U; - slice_sampler_rfc_type<F,LogF,U> logF(min_x, max_x, logF0, max_nfeval); - - assert(std::isfinite(x)); - - if (w <= 0.0) { // set w to a default width - if (min_x > -std::numeric_limits<F>::infinity() && max_x < std::numeric_limits<F>::infinity()) - w = (max_x - min_x)/4; - else - w = std::max(((x < 0.0) ? -x : x)/4, (F) 0.1); - } - assert(std::isfinite(w)); - - F logFx = logF(x); - for (U sample = 0; sample < nsamples; ++sample) { - F logY = logFx + log(u01()+1e-100); //! slice logFx at this value - assert(std::isfinite(logY)); - - F xl = x - w*u01(); //! lower bound on slice interval - F logFxl = logF(xl); - F xr = xl + w; //! upper bound on slice interval - F logFxr = logF(xr); - - while (logY < logFxl || logY < logFxr) // doubling procedure - if (u01() < 0.5) - logFxl = logF(xl -= xr - xl); - else - logFxr = logF(xr += xr - xl); - - F xl1 = xl; - F xr1 = xr; - while (true) { // shrinking procedure - F x1 = xl1 + u01()*(xr1 - xl1); - if (logY < logF(x1)) { - F xl2 = xl; // acceptance procedure - F xr2 = xr; - bool d = false; - while (xr2 - xl2 > 1.1*w) { - F xm = (xl2 + xr2)/2; - if ((x < xm && x1 >= xm) || (x >= xm && x1 < xm)) - d = true; - if (x1 < xm) - xr2 = xm; - else - xl2 = xm; - if (d && logY >= logF(xl2) && logY >= logF(xr2)) - goto unacceptable; - } - x = x1; - goto acceptable; - } - goto acceptable; - unacceptable: - if (x1 < x) // rest of shrinking procedure - xl1 = x1; - else - xr1 = x1; - } - acceptable: - w = (4*w + (xr1 - xl1))/5; // update width estimate - } - return x; -} - -/* -//! slice_sampler1d() implements a 1-d MCMC slice sampler. -//! It should be correct for unimodal distributions, but -//! not for multimodal ones. -// -template <typename F, typename LogP, typename Uniform01> -F slice_sampler1d(const LogP& logP, //!< log of distribution to sample - F x, //!< initial sample - Uniform01& u01, //!< uniform random number generator - F min_x = -std::numeric_limits<F>::infinity(), //!< minimum value of support - F max_x = std::numeric_limits<F>::infinity(), //!< maximum value of support - F w = 0.0, //!< guess at initial width - unsigned nsamples=1, //!< number of samples to draw - unsigned max_nfeval=200) //!< max number of function evaluations -{ - typedef unsigned U; - assert(std::isfinite(x)); - if (w <= 0.0) { - if (min_x > -std::numeric_limits<F>::infinity() && max_x < std::numeric_limits<F>::infinity()) - w = (max_x - min_x)/4; - else - w = std::max(((x < 0.0) ? -x : x)/4, 0.1); - } - // TRACE4(x, min_x, max_x, w); - F logPx = logP(x); - assert(std::isfinite(logPx)); - U nfeval = 1; - for (U sample = 0; sample < nsamples; ++sample) { - F x0 = x; - F logU = logPx + log(u01()+1e-100); - assert(std::isfinite(logU)); - F r = u01(); - F xl = std::max(min_x, x - r*w); - F xr = std::min(max_x, x + (1-r)*w); - // TRACE3(x, logPx, logU); - while (xl > min_x && logP(xl) > logU) { - xl -= w; - w *= 2; - ++nfeval; - if (nfeval >= max_nfeval) - std::cerr << "## Error: nfeval = " << nfeval << ", max_nfeval = " << max_nfeval << ", sample = " << sample << ", nsamples = " << nsamples << ", r = " << r << ", w = " << w << ", xl = " << xl << std::endl; - assert(nfeval < max_nfeval); - } - xl = std::max(xl, min_x); - while (xr < max_x && logP(xr) > logU) { - xr += w; - w *= 2; - ++nfeval; - if (nfeval >= max_nfeval) - std::cerr << "## Error: nfeval = " << nfeval << ", max_nfeval = " << max_nfeval << ", sample = " << sample << ", nsamples = " << nsamples << ", r = " << r << ", w = " << w << ", xr = " << xr << std::endl; - assert(nfeval < max_nfeval); - } - xr = std::min(xr, max_x); - while (true) { - r = u01(); - x = r*xl + (1-r)*xr; - assert(std::isfinite(x)); - logPx = logP(x); - // TRACE4(logPx, x, xl, xr); - assert(std::isfinite(logPx)); - ++nfeval; - if (nfeval >= max_nfeval) - std::cerr << "## Error: nfeval = " << nfeval << ", max_nfeval = " << max_nfeval << ", sample = " << sample << ", nsamples = " << nsamples << ", r = " << r << ", w = " << w << ", xl = " << xl << ", xr = " << xr << ", x = " << x << std::endl; - assert(nfeval < max_nfeval); - if (logPx > logU) - break; - else if (x > x0) - xr = x; - else - xl = x; - } - // w = (4*w + (xr-xl))/5; // gradually adjust w - } - // TRACE2(logPx, x); - return x; -} // slice_sampler1d() -*/ - -#endif // SLICE_SAMPLER_H diff --git a/gi/pyp-topics/src/timing.h b/gi/pyp-topics/src/timing.h deleted file mode 100644 index 08360b0f..00000000 --- a/gi/pyp-topics/src/timing.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef TIMING_H -#define TIMING_H - -#ifdef __CYGWIN__ -# ifndef _POSIX_MONOTONIC_CLOCK -# define _POSIX_MONOTONIC_CLOCK -// this modifies <time.h> -# endif -// in case someone included <time.h> before we got here (this is lifted from time.h>) -# ifndef CLOCK_MONOTONIC -# define CLOCK_MONOTONIC (clockid_t)4 -# endif -#endif - - -#include <time.h> -#include <sys/time.h> -#include "clock_gettime_stub.c" - -struct Timer { - Timer() { Reset(); } - void Reset() - { - clock_gettime(CLOCK_MONOTONIC, &start_t); - } - double Elapsed() const { - timespec end_t; - clock_gettime(CLOCK_MONOTONIC, &end_t); - const double elapsed = (end_t.tv_sec - start_t.tv_sec) - + (end_t.tv_nsec - start_t.tv_nsec) / 1000000000.0; - return elapsed; - } - private: - timespec start_t; -}; - -#endif diff --git a/gi/pyp-topics/src/train-contexts.cc b/gi/pyp-topics/src/train-contexts.cc deleted file mode 100644 index 9463f9fc..00000000 --- a/gi/pyp-topics/src/train-contexts.cc +++ /dev/null @@ -1,174 +0,0 @@ -// STL -#include <iostream> -#include <fstream> -#include <algorithm> -#include <iterator> - -// Boost -#include <boost/program_options/parsers.hpp> -#include <boost/program_options/variables_map.hpp> -#include <boost/scoped_ptr.hpp> - -// Local -#include "pyp-topics.hh" -#include "corpus.hh" -#include "contexts_corpus.hh" -#include "gzstream.hh" - -static const char *REVISION = "$Rev$"; - -// Namespaces -using namespace boost; -using namespace boost::program_options; -using namespace std; - -int main(int argc, char **argv) -{ - cout << "Pitman Yor topic models: Copyright 2010 Phil Blunsom\n"; - cout << REVISION << '\n' <<endl; - - //////////////////////////////////////////////////////////////////////////////////////////// - // Command line processing - variables_map vm; - - // Command line processing - { - options_description cmdline_specific("Command line specific options"); - cmdline_specific.add_options() - ("help,h", "print help message") - ("config,c", value<string>(), "config file specifying additional command line options") - ; - options_description config_options("Allowed options"); - config_options.add_options() - ("data,d", value<string>(), "file containing the documents and context terms") - ("topics,t", value<int>()->default_value(50), "number of topics") - ("document-topics-out,o", value<string>(), "file to write the document topics to") - ("default-topics-out", value<string>(), "file to write default term topic assignments.") - ("topic-words-out,w", value<string>(), "file to write the topic word distribution to") - ("samples,s", value<int>()->default_value(10), "number of sampling passes through the data") - ("backoff-type", value<string>(), "backoff type: none|simple") -// ("filter-singleton-contexts", "filter singleton contexts") - ("hierarchical-topics", "Use a backoff hierarchical PYP as the P0 for the document topics distribution.") - ("freq-cutoff-start", value<int>()->default_value(0), "initial frequency cutoff.") - ("freq-cutoff-end", value<int>()->default_value(0), "final frequency cutoff.") - ("freq-cutoff-interval", value<int>()->default_value(0), "number of iterations between frequency decrement.") - ("max-threads", value<int>()->default_value(1), "maximum number of simultaneous threads allowed") - ("max-contexts-per-document", value<int>()->default_value(0), "Only sample the n most frequent contexts for a document.") - ("num-jobs", value<int>()->default_value(1), "allows finer control over parallelization") - ("temp-start", value<double>()->default_value(1.0), "starting annealing temperature.") - ("temp-end", value<double>()->default_value(1.0), "end annealing temperature.") - ; - - cmdline_specific.add(config_options); - - store(parse_command_line(argc, argv, cmdline_specific), vm); - notify(vm); - - if (vm.count("config") > 0) { - ifstream config(vm["config"].as<string>().c_str()); - store(parse_config_file(config, config_options), vm); - } - - if (vm.count("help")) { - cout << cmdline_specific << "\n"; - return 1; - } - } - //////////////////////////////////////////////////////////////////////////////////////////// - - if (!vm.count("data")) { - cerr << "Please specify a file containing the data." << endl; - return 1; - } - assert(vm["max-threads"].as<int>() > 0); - assert(vm["num-jobs"].as<int>() > -1); - // seed the random number generator: 0 = automatic, specify value otherwise - unsigned long seed = 0; - PYPTopics model(vm["topics"].as<int>(), vm.count("hierarchical-topics"), seed, vm["max-threads"].as<int>(), vm["num-jobs"].as<int>()); - - // read the data - BackoffGenerator* backoff_gen=0; - if (vm.count("backoff-type")) { - if (vm["backoff-type"].as<std::string>() == "none") { - backoff_gen = 0; - } - else if (vm["backoff-type"].as<std::string>() == "simple") { - backoff_gen = new SimpleBackoffGenerator(); - } - else { - cerr << "Backoff type (--backoff-type) must be one of none|simple." <<endl; - return(1); - } - } - - ContextsCorpus contexts_corpus; - contexts_corpus.read_contexts(vm["data"].as<string>(), backoff_gen, /*vm.count("filter-singleton-contexts")*/ false); - model.set_backoff(contexts_corpus.backoff_index()); - - if (backoff_gen) - delete backoff_gen; - - // train the sampler - model.sample_corpus(contexts_corpus, vm["samples"].as<int>(), - vm["freq-cutoff-start"].as<int>(), - vm["freq-cutoff-end"].as<int>(), - vm["freq-cutoff-interval"].as<int>(), - vm["max-contexts-per-document"].as<int>(), - vm["temp-start"].as<double>(), vm["temp-end"].as<double>()); - - if (vm.count("document-topics-out")) { - ogzstream documents_out(vm["document-topics-out"].as<string>().c_str()); - - int document_id=0; - map<int,int> all_terms; - for (Corpus::const_iterator corpusIt=contexts_corpus.begin(); - corpusIt != contexts_corpus.end(); ++corpusIt, ++document_id) { - vector<int> unique_terms; - for (Document::const_iterator docIt=corpusIt->begin(); - docIt != corpusIt->end(); ++docIt) { - if (unique_terms.empty() || *docIt != unique_terms.back()) - unique_terms.push_back(*docIt); - // increment this terms frequency - pair<map<int,int>::iterator,bool> insert_result = all_terms.insert(make_pair(*docIt,1)); - if (!insert_result.second) - all_terms[*docIt] = all_terms[*docIt] + 1; - //insert_result.first++; - } - documents_out << contexts_corpus.key(document_id) << '\t'; - documents_out << model.max(document_id).first << " " << corpusIt->size() << " ||| "; - for (std::vector<int>::const_iterator termIt=unique_terms.begin(); - termIt != unique_terms.end(); ++termIt) { - if (termIt != unique_terms.begin()) - documents_out << " ||| "; - vector<std::string> strings = contexts_corpus.context2string(*termIt); - copy(strings.begin(), strings.end(),ostream_iterator<std::string>(documents_out, " ")); - std::pair<int,PYPTopics::F> maxinfo = model.max(document_id, *termIt); - documents_out << "||| C=" << maxinfo.first << " P=" << maxinfo.second; - - } - documents_out <<endl; - } - documents_out.close(); - - if (vm.count("default-topics-out")) { - ofstream default_topics(vm["default-topics-out"].as<string>().c_str()); - default_topics << model.max_topic() <<endl; - for (std::map<int,int>::const_iterator termIt=all_terms.begin(); termIt != all_terms.end(); ++termIt) { - vector<std::string> strings = contexts_corpus.context2string(termIt->first); - default_topics << model.max(-1, termIt->first).first << " ||| " << termIt->second << " ||| "; - copy(strings.begin(), strings.end(),ostream_iterator<std::string>(default_topics, " ")); - default_topics <<endl; - } - } - } - - if (vm.count("topic-words-out")) { - ogzstream topics_out(vm["topic-words-out"].as<string>().c_str()); - model.print_topic_terms(topics_out); - topics_out.close(); - } - - cout <<endl; - - return 0; -} diff --git a/gi/pyp-topics/src/train.cc b/gi/pyp-topics/src/train.cc deleted file mode 100644 index db7ca46e..00000000 --- a/gi/pyp-topics/src/train.cc +++ /dev/null @@ -1,135 +0,0 @@ -// STL -#include <iostream> -#include <fstream> - -// Boost -#include <boost/program_options/parsers.hpp> -#include <boost/program_options/variables_map.hpp> -#include <boost/scoped_ptr.hpp> - -// Local -#include "pyp-topics.hh" -#include "corpus.hh" -#include "contexts_corpus.hh" -#include "gzstream.hh" - -static const char *REVISION = "$Rev$"; - -// Namespaces -using namespace boost; -using namespace boost::program_options; -using namespace std; - -int main(int argc, char **argv) -{ - std::cout << "Pitman Yor topic models: Copyright 2010 Phil Blunsom\n"; - std::cout << REVISION << '\n' << std::endl; - - //////////////////////////////////////////////////////////////////////////////////////////// - // Command line processing - variables_map vm; - - // Command line processing - options_description cmdline_specific("Command line specific options"); - cmdline_specific.add_options() - ("help,h", "print help message") - ("config,c", value<string>(), "config file specifying additional command line options") - ; - options_description generic("Allowed options"); - generic.add_options() - ("documents,d", value<string>(), "file containing the documents") - ("topics,t", value<int>()->default_value(50), "number of topics") - ("document-topics-out,o", value<string>(), "file to write the document topics to") - ("topic-words-out,w", value<string>(), "file to write the topic word distribution to") - ("samples,s", value<int>()->default_value(10), "number of sampling passes through the data") - ("test-corpus", value<string>(), "file containing the test data") - ("backoff-paths", value<string>(), "file containing the term backoff paths") - ; - options_description config_options, cmdline_options; - config_options.add(generic); - cmdline_options.add(generic).add(cmdline_specific); - - store(parse_command_line(argc, argv, cmdline_options), vm); - if (vm.count("config") > 0) { - ifstream config(vm["config"].as<string>().c_str()); - store(parse_config_file(config, cmdline_options), vm); - } - notify(vm); - //////////////////////////////////////////////////////////////////////////////////////////// - - if (vm.count("documents") == 0) { - cerr << "Please specify a file containing the documents." << endl; - cout << cmdline_options << "\n"; - return 1; - } - - if (vm.count("help")) { - cout << cmdline_options << "\n"; - return 1; - } - - // seed the random number generator: 0 = automatic, specify value otherwise - unsigned long seed = 0; - PYPTopics model(vm["topics"].as<int>(), false, seed); - - // read the data - Corpus corpus; - corpus.read(vm["documents"].as<string>()); - - // read the backoff dictionary - if (vm.count("backoff-paths")) - model.set_backoff(vm["backoff-paths"].as<string>()); - - // train the sampler - model.sample_corpus(corpus, vm["samples"].as<int>()); - - if (vm.count("document-topics-out")) { - ogzstream documents_out(vm["document-topics-out"].as<string>().c_str()); - //model.print_document_topics(documents_out); - - int document_id=0; - for (Corpus::const_iterator corpusIt=corpus.begin(); - corpusIt != corpus.end(); ++corpusIt, ++document_id) { - std::vector<int> unique_terms; - for (Document::const_iterator docIt=corpusIt->begin(); - docIt != corpusIt->end(); ++docIt) { - if (unique_terms.empty() || *docIt != unique_terms.back()) - unique_terms.push_back(*docIt); - } - documents_out << unique_terms.size(); - for (std::vector<int>::const_iterator termIt=unique_terms.begin(); - termIt != unique_terms.end(); ++termIt) - documents_out << " " << *termIt << ":" << model.max(document_id, *termIt).first; - documents_out << std::endl; - } - documents_out.close(); - } - - if (vm.count("topic-words-out")) { - ogzstream topics_out(vm["topic-words-out"].as<string>().c_str()); - model.print_topic_terms(topics_out); - topics_out.close(); - } - - if (vm.count("test-corpus")) { - TestCorpus test_corpus; - test_corpus.read(vm["test-corpus"].as<string>()); - ogzstream topics_out((vm["test-corpus"].as<string>() + ".topics.gz").c_str()); - - for (TestCorpus::const_iterator corpusIt=test_corpus.begin(); - corpusIt != test_corpus.end(); ++corpusIt) { - int index=0; - for (DocumentTerms::const_iterator instanceIt=corpusIt->begin(); - instanceIt != corpusIt->end(); ++instanceIt, ++index) { - int topic = model.max(instanceIt->doc, instanceIt->term).first; - if (index != 0) topics_out << " "; - topics_out << topic; - } - topics_out << std::endl; - } - topics_out.close(); - } - std::cout << std::endl; - - return 0; -} diff --git a/gi/pyp-topics/src/utility.h b/gi/pyp-topics/src/utility.h deleted file mode 100644 index 405a5b0a..00000000 --- a/gi/pyp-topics/src/utility.h +++ /dev/null @@ -1,962 +0,0 @@ -// utility.h -// -// (c) Mark Johnson, 24th January 2005 -// -// modified 6th May 2002 to ensure write/read consistency, fixed 18th July 2002 -// modified 14th July 2002 to include insert() (generic inserter) -// modified 26th September 2003 to use mapped_type instead of data_type -// 25th August 2004 added istream >> const char* -// 24th January 2005 added insert_newkey() -// -// Defines: -// loop macros foreach, cforeach -// dfind (default find function) -// afind (find function that asserts key exists) -// insert_newkey (inserts a new key into a map) -// insert (generic inserter into standard data structures) -// disjoint (set operation) -// first_lessthan and second_lessthan (compares elements of pairs) -// -// Simplified interfaces to STL routines: -// -// includes (simplified interface) -// set_intersection (simplified interface) -// inserter (simplified interface) -// max_element (simplified interface) -// min_element (simplified interface) -// hash functions for pairs, vectors, lists, slists and maps -// input and output for pairs and vectors -// resource_usage (interface improved) - - -#ifndef UTILITY_H -#define UTILITY_H - -#include <algorithm> -// #include <boost/smart_ptr.hpp> // Comment out this line if boost is not used -#include <cassert> -#include <cmath> -#include <cctype> -#include <cstdio> -#include <unordered_map> -#include <unordered_set> -#include <ext/slist> -#include <iostream> -#include <iterator> -#include <list> -#include <map> -#include <set> -#include <string> -#include <utility> -#include <vector> -#include <memory> - -#if (__GNUC__ > 3) || (__GNUC__ >= 3 && __GNUC_MINOR__ >= 1) -#define EXT_NAMESPACE __gnu_cxx -#else -#define EXT_NAMESPACE std -#endif - -namespace ext = EXT_NAMESPACE; - -inline float power(float x, float y) { return powf(x, y); } -inline double power(double x, double y) { return pow(x, y); } -inline long double power(long double x, long double y) { return powl(x, y); } - -typedef unsigned U; -typedef long double F; // slower than double, but underflows less - -/////////////////////////////////////////////////////////////////////////// -// // -// Looping constructs // -// // -/////////////////////////////////////////////////////////////////////////// - -// foreach is a simple loop construct -// -// STORE should be an STL container -// TYPE is the typename of STORE -// VAR will be defined as a local variable of type TYPE::iterator -// -#define foreach(TYPE, VAR, STORE) \ - for (TYPE::iterator VAR = (STORE).begin(); VAR != (STORE).end(); ++VAR) - -// cforeach is just like foreach, except that VAR is a const_iterator -// -// STORE should be an STL container -// TYPE is the typename of STORE -// VAR will be defined as a local variable of type TYPE::const_iterator -// -#define cforeach(TYPE, VAR, STORE) \ - for (TYPE::const_iterator VAR = (STORE).begin(); VAR != (STORE).end(); ++VAR) - - -/////////////////////////////////////////////////////////////////////////// -// // -// Map searching // -// // -// dfind(map, key) returns the key's value in map, or map's default // -// value if no such key exists (the default value is not inserted) // -// // -// afind(map, key) returns a reference to the key's value in map, and // -// asserts that this value exists // -// // -/////////////////////////////////////////////////////////////////////////// - -// dfind(Map, Key) returns the value Map associates with Key, or the -// Map's default value if no such Key exists -// -template <class Map, class Key> -inline typename Map::mapped_type dfind(Map& m, const Key& k) -{ - typename Map::iterator i = m.find(k); - if (i == m.end()) - return typename Map::mapped_type(); - else - return i->second; -} - -template <class Map, class Key> -inline const typename Map::mapped_type dfind(const Map& m, const Key& k) -{ - typename Map::const_iterator i = m.find(k); - if (i == m.end()) - return typename Map::mapped_type(); - else - return i->second; -} - - -// afind(map, key) returns a reference to the value associated -// with key in map. It uses assert to check that the key's value -// is defined. -// -template <class Map, class Key> -inline typename Map::mapped_type& afind(Map& m, const Key& k) -{ - typename Map::iterator i = m.find(k); - assert(i != m.end()); - return i->second; -} - -template <class Map, class Key> -inline const typename Map::mapped_type& afind(const Map& m, const Key& k) -{ - typename Map::const_iterator i = m.find(k); - assert(i != m.end()); - return i->second; -} - -//! insert_newkey(map, key, value) checks that map does not contain -//! key, and binds key to value. -// -template <class Map, class Key, class Value> -inline typename Map::value_type& -insert_newkey(Map& m, const Key& k,const Value& v) -{ - std::pair<typename Map::iterator, bool> itb - = m.insert(Map::value_type(k, v)); - assert(itb.second); - return *(itb.first); -} // insert_newkey() - - -/////////////////////////////////////////////////////////////////////////// -// // -// Insert operations // -// // -/////////////////////////////////////////////////////////////////////////// - - -template <typename T> -void insert(std::list<T>& xs, const T& x) { - xs.push_back(x); -} - -template <typename T> -void insert(std::set<T>& xs, const T& x) { - xs.insert(x); -} - -template <typename T> -void insert(std::vector<T>& xs, const T& x) { - xs.push_back(x); -} - - -/////////////////////////////////////////////////////////////////////////// -// // -// Additional versions of standard algorithms // -// // -/////////////////////////////////////////////////////////////////////////// - -template <typename Set1, typename Set2> -inline bool includes(const Set1& set1, const Set2& set2) -{ - return std::includes(set1.begin(), set1.end(), set2.begin(), set2.end()); -} - -template <typename Set1, typename Set2, typename Compare> -inline bool includes(const Set1& set1, const Set2& set2, Compare comp) -{ - return std::includes(set1.begin(), set1.end(), set2.begin(), set2.end(), comp); -} - - -template <typename InputIter1, typename InputIter2> -bool disjoint(InputIter1 first1, InputIter1 last1, - InputIter2 first2, InputIter2 last2) -{ - while (first1 != last1 && first2 != last2) - if (*first1 < *first2) - ++first1; - else if (*first2 < *first1) - ++first2; - else // *first1 == *first2 - return false; - return true; -} - -template <typename InputIter1, typename InputIter2, typename Compare> -bool disjoint(InputIter1 first1, InputIter1 last1, - InputIter2 first2, InputIter2 last2, Compare comp) -{ - while (first1 != last1 && first2 != last2) - if (comp(*first1, *first2)) - ++first1; - else if (comp(*first2, *first1)) - ++first2; - else // *first1 == *first2 - return false; - return true; -} - -template <typename Set1, typename Set2> -inline bool disjoint(const Set1& set1, const Set2& set2) -{ - return disjoint(set1.begin(), set1.end(), set2.begin(), set2.end()); -} - -template <typename Set1, typename Set2, typename Compare> -inline bool disjoint(const Set1& set1, const Set2& set2, Compare comp) -{ - return disjoint(set1.begin(), set1.end(), set2.begin(), set2.end(), comp); -} - - -template <typename Set1, typename Set2, typename OutputIterator> -inline OutputIterator set_intersection(const Set1& set1, const Set2& set2, - OutputIterator result) -{ - return set_intersection(set1.begin(), set1.end(), set2.begin(), set2.end(), result); -} - -template <typename Set1, typename Set2, typename OutputIterator, typename Compare> -inline OutputIterator set_intersection(const Set1& set1, const Set2& set2, - OutputIterator result, Compare comp) -{ - return set_intersection(set1.begin(), set1.end(), set2.begin(), set2.end(), result, comp); -} - - -template <typename Container> -inline std::insert_iterator<Container> inserter(Container& container) -{ - return std::inserter(container, container.begin()); -} - -// max_element -// -template <class Es> inline typename Es::iterator max_element(Es& es) -{ - return std::max_element(es.begin(), es.end()); -} - -template <class Es> inline typename Es::const_iterator max_element(const Es& es) -{ - return std::max_element(es.begin(), es.end()); -} - -template <class Es, class BinaryPredicate> -inline typename Es::iterator max_element(Es& es, BinaryPredicate comp) -{ - return std::max_element(es.begin(), es.end(), comp); -} - -template <class Es, class BinaryPredicate> -inline typename Es::const_iterator max_element(const Es& es, BinaryPredicate comp) -{ - return std::max_element(es.begin(), es.end(), comp); -} - -// min_element -// -template <class Es> inline typename Es::iterator min_element(Es& es) -{ - return std::min_element(es.begin(), es.end()); -} - -template <class Es> inline typename Es::const_iterator min_element(const Es& es) -{ - return std::min_element(es.begin(), es.end()); -} - -template <class Es, class BinaryPredicate> -inline typename Es::iterator min_element(Es& es, BinaryPredicate comp) -{ - return std::min_element(es.begin(), es.end(), comp); -} - -template <class Es, class BinaryPredicate> -inline typename Es::const_iterator min_element(const Es& es, BinaryPredicate comp) -{ - return std::min_element(es.begin(), es.end(), comp); -} - -// first_lessthan and second_lessthan -// -struct first_lessthan { - template <typename T1, typename T2> - bool operator() (const T1& e1, const T2& e2) { - return e1.first < e2.first; - } -}; - -struct second_lessthan { - template <typename T1, typename T2> - bool operator() (const T1& e1, const T2& e2) { - return e1.second < e2.second; - } -}; - -// first_greaterthan and second_greaterthan -// -struct first_greaterthan { - template <typename T1, typename T2> - bool operator() (const T1& e1, const T2& e2) { - return e1.first > e2.first; - } -}; - -struct second_greaterthan { - template <typename T1, typename T2> - bool operator() (const T1& e1, const T2& e2) { - return e1.second > e2.second; - } -}; - - -/////////////////////////////////////////////////////////////////////////// -// // -// hash<> specializations // -// // -// These must be in namespace std. They permit the corresponding STL // -// container to be used as a key in an STL hash table. // -// // -/////////////////////////////////////////////////////////////////////////// - -//namespace EXT_NAMESPACE { -namespace std { - /* - // hash function for bool - // - template <> struct hash<bool> - { - size_t operator() (bool b) const - { - return b; - } // operator() - }; // hash<bool>{} - - // hash function for double - // - template <> struct hash<double> - { - size_t operator() (double d) const - { - int exponent; - double fraction = frexp(d, &exponent); - return size_t(exponent) ^ size_t(1000000.0*(fabs(fraction-0.5))); - } // operator() - }; // hash<double>{} - - // hash function for strings - // - template <> struct hash<std::string> - { - size_t operator()(const std::string& s) const - { - typedef std::string::const_iterator CI; - - unsigned long h = 0; - unsigned long g; - CI p = s.begin(); - CI end = s.end(); - - while (p!=end) { - h = (h << 4) + (*p++); - if ((g = h&0xf0000000)) { - h = h ^ (g >> 24); - h = h ^ g; - }} - return size_t(h); - } // operator() - }; // hash<string>{} - -*/ - // hash function for arbitrary pairs - // - template<class T1, class T2> struct hash<std::pair<T1,T2> > { - size_t operator()(const std::pair<T1,T2>& p) const - { - size_t h1 = hash<T1>()(p.first); - size_t h2 = hash<T2>()(p.second); - return h1 ^ (h1 >> 1) ^ h2 ^ (h2 << 1); - } - }; - - - // hash function for vectors - // - template<class T> struct hash<std::vector<T> > - { // This is the fn hashpjw of Aho, Sethi and Ullman, p 436. - size_t operator()(const std::vector<T>& s) const - { - typedef typename std::vector<T>::const_iterator CI; - - unsigned long h = 0; - unsigned long g; - CI p = s.begin(); - CI end = s.end(); - - while (p!=end) { - h = (h << 5) + hash<T>()(*p++); - if ((g = h&0xff000000)) { - h = h ^ (g >> 23); - h = h ^ g; - }} - return size_t(h); - } - }; - - // hash function for slists - // - template<class T> struct hash<ext::slist<T> > - { // This is the fn hashpjw of Aho, Sethi and Ullman, p 436. - size_t operator()(const ext::slist<T>& s) const - { - typedef typename ext::slist<T>::const_iterator CI; - - unsigned long h = 0; - unsigned long g; - CI p = s.begin(); - CI end = s.end(); - - while (p!=end) { - h = (h << 7) + hash<T>()(*p++); - if ((g = h&0xff000000)) { - h = h ^ (g >> 23); - h = h ^ g; - }} - return size_t(h); - } - }; - - // hash function for maps - // - template<typename T1, typename T2> struct hash<std::map<T1,T2> > - { - size_t operator()(const std::map<T1,T2>& m) const - { - typedef typename std::map<T1,T2> M; - typedef typename M::const_iterator CI; - - unsigned long h = 0; - unsigned long g; - CI p = m.begin(); - CI end = m.end(); - - while (p != end) { - h = (h << 11) + hash<typename M::value_type>()(*p++); - if ((g = h&0xff000000)) { - h = h ^ (g >> 23); - h = h ^ g; - }} - return size_t(h); - } - }; - -} // namespace EXT_NAMESPACE - - - -/////////////////////////////////////////////////////////////////////////// -// // -// Write/Read code // -// // -// These routines should possess write/read invariance IF their elements // -// also have write-read invariance. Whitespace, '(' and ')' are used as // -// delimiters. // -// // -/////////////////////////////////////////////////////////////////////////// - - -// Define istream >> const char* so that it consumes the characters from the -// istream. Just as in scanf, a space consumes an arbitrary amount of whitespace. -// -inline std::istream& operator>> (std::istream& is, const char* cp) -{ - if (*cp == '\0') - return is; - else if (*cp == ' ') { - char c; - if (is.get(c)) { - if (isspace(c)) - return is >> cp; - else { - is.unget(); - return is >> (cp+1); - } - } - else { - is.clear(is.rdstate() & ~std::ios::failbit); // clear failbit - return is >> (cp+1); - } - } - else { - char c; - if (is.get(c)) { - if (c == *cp) - return is >> (cp+1); - else { - is.unget(); - is.setstate(std::ios::failbit); - } - } - return is; - } -} - - -// Write out an auto_ptr object just as you would write out the pointer object -// -template <typename T> -inline std::ostream& operator<<(std::ostream& os, const std::auto_ptr<T>& sp) -{ - return os << sp.get(); -} - - -// Pairs -// -template <class T1, class T2> -std::ostream& operator<< (std::ostream& os, const std::pair<T1,T2>& p) -{ - return os << '(' << p.first << ' ' << p.second << ')'; -} - -template <class T1, class T2> -std::istream& operator>> (std::istream& is, std::pair<T1,T2>& p) -{ - char c; - if (is >> c) { - if (c == '(') { - if (is >> p.first >> p.second >> c && c == ')') - return is; - else - is.setstate(std::ios::badbit); - } - else - is.putback(c); - } - is.setstate(std::ios::failbit); - return is; -} - -// Lists -// -template <class T> -std::ostream& operator<< (std::ostream& os, const std::list<T>& xs) -{ - os << '('; - for (typename std::list<T>::const_iterator xi = xs.begin(); xi != xs.end(); ++xi) { - if (xi != xs.begin()) - os << ' '; - os << *xi; - } - return os << ')'; -} - -template <class T> -std::istream& operator>> (std::istream& is, std::list<T>& xs) -{ - char c; // This code avoids unnecessary copy - if (is >> c) { // read the initial '(' - if (c == '(') { - xs.clear(); // clear the list - do { - xs.push_back(T()); // create a new elt in list - is >> xs.back(); // read element - } - while (is.good()); // read as long as possible - xs.pop_back(); // last read failed; pop last elt - is.clear(is.rdstate() & ~std::ios::failbit); // clear failbit - if (is >> c && c == ')') // read terminating ')' - return is; // successful return - else - is.setstate(std::ios::badbit); // something went wrong, set badbit - } - else // c is not '(' - is.putback(c); // put c back into input - } - is.setstate(std::ios::failbit); // read failed, set failbit - return is; -} - -// Vectors -// -template <class T> -std::ostream& operator<< (std::ostream& os, const std::vector<T>& xs) -{ - os << '('; - for (typename std::vector<T>::const_iterator xi = xs.begin(); xi != xs.end(); ++xi) { - if (xi != xs.begin()) - os << ' '; - os << *xi; - } - return os << ')'; -} - -template <class T> -std::istream& operator>> (std::istream& is, std::vector<T>& xs) -{ - char c; // This code avoids unnecessary copy - if (is >> c) { // read the initial '(' - if (c == '(') { - xs.clear(); // clear the list - do { - xs.push_back(T()); // create a new elt in list - is >> xs.back(); // read element - } - while (is.good()); // read as long as possible - xs.pop_back(); // last read failed; pop last elt - is.clear(is.rdstate() & ~std::ios::failbit); // clear failbit - if (is >> c && c == ')') // read terminating ')' - return is; // successful return - else - is.setstate(std::ios::badbit); // something went wrong, set badbit - } - else // c is not '(' - is.putback(c); // put c back into input - } - is.setstate(std::ios::failbit); // read failed, set failbit - return is; -} - -// Slists -// -template <class T> -std::ostream& operator<< (std::ostream& os, const ext::slist<T>& xs) -{ - os << '('; - for (typename ext::slist<T>::const_iterator xi = xs.begin(); xi != xs.end(); ++xi) { - if (xi != xs.begin()) - os << ' '; - os << *xi; - } - return os << ')'; -} - -template <class T> -std::istream& operator>> (std::istream& is, ext::slist<T>& xs) -{ - char c; - if (is >> c) { - if (c == '(') { - xs.clear(); - T e; - if (is >> e) { - xs.push_front(e); - typename ext::slist<T>::iterator xi = xs.begin(); - while (is >> e) - xi = xs.insert_after(xi, e); - is.clear(is.rdstate() & ~std::ios::failbit); - if (is >> c && c == ')') - return is; - else - is.setstate(std::ios::badbit); - } - else { // empty list - is.clear(is.rdstate() & ~std::ios::failbit); - if (is >> c && c == ')') - return is; - else // didn't see closing ')' - is.setstate(std::ios::badbit); - } - } - else // didn't read '(' - is.putback(c); - } - is.setstate(std::ios::failbit); - return is; -} - -// Sets -// -template <class T> -std::ostream& operator<< (std::ostream& os, const std::set<T>& s) -{ - os << '('; - for (typename std::set<T>::const_iterator i = s.begin(); i != s.end(); ++i) { - if (i != s.begin()) - os << ' '; - os << *i; - } - return os << ')'; -} - -template <class T> -std::istream& operator>> (std::istream& is, std::set<T>& s) -{ - char c; - if (is >> c) { - if (c == '(') { - s.clear(); - T e; - while (is >> e) - s.insert(e); - is.clear(is.rdstate() & ~std::ios::failbit); - if (is >> c && c == ')') - return is; - else - is.setstate(std::ios::badbit); - } - else - is.putback(c); - } - is.setstate(std::ios::failbit); - return is; -} - -// Hash_sets -// -template <class T> -std::ostream& operator<< (std::ostream& os, const std::unordered_set<T>& s) -{ - os << '('; - for (typename std::unordered_set<T>::const_iterator i = s.begin(); i != s.end(); ++i) { - if (i != s.begin()) - os << ' '; - os << *i; - } - return os << ')'; -} - -template <class T> -std::istream& operator>> (std::istream& is, std::unordered_set<T>& s) -{ - char c; - if (is >> c) { - if (c == '(') { - s.clear(); - T e; - while (is >> e) - s.insert(e); - is.clear(is.rdstate() & ~std::ios::failbit); - if (is >> c && c == ')') - return is; - else - is.setstate(std::ios::badbit); - } - else - is.putback(c); - } - is.setstate(std::ios::failbit); - return is; -} - - -// Maps -// -template <class Key, class Value> -std::ostream& operator<< (std::ostream& os, const std::map<Key,Value>& m) -{ - typedef std::map<Key,Value> M; - os << '('; - for (typename M::const_iterator it = m.begin(); it != m.end(); ++it) { - if (it != m.begin()) - os << ' '; - os << *it; - } - return os << ")"; -} - -template <class Key, class Value> -std::istream& operator>> (std::istream& is, std::map<Key,Value>& m) -{ - char c; - if (is >> c) { - if (c == '(') { - m.clear(); - std::pair<Key,Value> e; - while (is >> e) - m.insert(e); - is.clear(is.rdstate() & ~std::ios::failbit); - if (is >> c && c == ')') - return is; - else - is.setstate(std::ios::badbit); - } - else - is.putback(c); - } - is.setstate(std::ios::failbit); - return is; -} - -// Hash_maps -// -template <class Key, class Value> -std::ostream& operator<< (std::ostream& os, const std::unordered_map<Key,Value>& m) -{ - typedef std::unordered_map<Key,Value> M; - os << '('; - for (typename M::const_iterator it = m.begin(); it != m.end(); ++it) { - if (it != m.begin()) - os << ' '; - os << *it; - } - return os << ")"; -} - -template <class Key, class Value> -std::istream& operator>> (std::istream& is, std::unordered_map<Key,Value>& m) -{ - char c; - if (is >> c) { - if (c == '(') { - m.clear(); - std::pair<Key,Value> e; - while (is >> e) - m.insert(e); - is.clear(is.rdstate() & ~std::ios::failbit); - if (is >> c && c == ')') - return is; - else - is.setstate(std::ios::badbit); - } - else - is.putback(c); - } - is.setstate(std::ios::failbit); - return is; -} - - -/////////////////////////////////////////////////////////////////////////// -// // -// Boost library additions // -// // -/////////////////////////////////////////////////////////////////////////// - -#ifdef BOOST_SHARED_PTR_HPP_INCLUDED - -// enhancements to boost::shared_ptr so it can be used with hash -// -namespace std { - template <typename T> struct equal_to<boost::shared_ptr<T> > - : public binary_function<boost::shared_ptr<T>, boost::shared_ptr<T>, bool> { - bool operator() (const boost::shared_ptr<T>& p1, const boost::shared_ptr<T>& p2) const { - return equal_to<T*>()(p1.get(), p2.get()); - } - }; -} // namespace std - -//namespace EXT_NAMESPACE { -namespace std { - template <typename T> struct hash<boost::shared_ptr<T> > { - size_t operator() (const boost::shared_ptr<T>& a) const { - return hash<T*>()(a.get()); - } - }; -} // namespace ext - -template <typename T> -inline std::ostream& operator<< (std::ostream& os, const boost::shared_ptr<T>& sp) -{ - return os << sp.get(); -} - -#endif // BOOST_SHARED_PTR_HPP_INCLUDED - -struct resource_usage { }; - -#ifndef __i386 -inline std::ostream& operator<< (std::ostream& os, resource_usage r) -{ - return os; -} -#else // Assume we are on a 586 linux -inline std::ostream& operator<< (std::ostream& os, resource_usage r) -{ - FILE* fp = fopen("/proc/self/stat", "r"); - assert(fp); - int utime; - int stime; - unsigned int vsize; - unsigned int rss; - int result = - fscanf(fp, "%*d %*s %*c %*d %*d %*d %*d %*d %*u %*u %*u %*u %*u %d %d %*d %*d %*d %*d" - "%*u %*u %*d %u %u", &utime, &stime, &vsize, &rss); - assert(result == 4); - fclose(fp); - // s << "utime = " << utime << ", stime = " << stime << ", vsize = " << vsize << ", rss = " << rss - ; - // return s << "utime = " << utime << ", vsize = " << vsize; - return os << "utime " << float(utime)/1.0e2 << "s, vsize " - << float(vsize)/1048576.0 << " Mb."; -} -#endif - -//! A default_value_type{} object is used to read an object from a stream, -//! assigning a default value if the read fails. Users should not need to -//! construct such objects, but should use default_value() instead. -// -template <typename object_type, typename default_type> -struct default_value_type { - object_type& object; - const default_type defaultvalue; - default_value_type(object_type& object, const default_type defaultvalue) - : object(object), defaultvalue(defaultvalue) { } -}; - -//! default_value() is used to read an object from a stream, assigning a -//! default value if the read fails. It returns a default_value_type{} -//! object, which does the actual reading. -// -template <typename object_type, typename default_type> -default_value_type<object_type,default_type> -default_value(object_type& object, const default_type defaultvalue=default_type()) { - return default_value_type<object_type,default_type>(object, defaultvalue); -} - -//! This version of operator>>() reads default_value_type{} from an input stream. -// -template <typename object_type, typename default_type> -std::istream& operator>> (std::istream& is, - default_value_type<object_type, default_type> dv) { - if (is) { - if (is >> dv.object) - ; - else { - is.clear(is.rdstate() & ~std::ios::failbit); // clear failbit - dv.object = dv.defaultvalue; - } - } - return is; -} - -// inline F random1() { return rand()/(RAND_MAX+1.0); } -inline F random1() { return mt_genrand_res53(); } - -#endif // UTILITY_H diff --git a/gi/pyp-topics/src/workers.hh b/gi/pyp-topics/src/workers.hh deleted file mode 100644 index 95b18947..00000000 --- a/gi/pyp-topics/src/workers.hh +++ /dev/null @@ -1,275 +0,0 @@ -/** - Basic thread-pool tools using Boost.Thread. - (Jan Botha, 7/2010) - - --Simple usage-- - Use SimpleWorker. - Example, call a function that returns an int in a new thread: - typedef boost::function<int()> JobType; - JobType job = boost::bind(funcname); - //or boost::bind(&class::funcname, this) for a member function - SimpleWorker<JobType, int> worker(job); - int result = worker.getResult(); //blocks until result is ready - - --Extended usage-- - Use WorkerPool, which uses Queuemt (a synchronized queue) and Worker. - Example: - (same context and typedef - WorkerPool<JobType, int> pool(num_threads); - JobType job = ... - pool.addJob(job); - ... - pool.get_result(); //blocks until all workers are done, returns the some of their results. - - Jobs added to a WorkerPool need to be the same type. A WorkerPool instance should not be reused (e.g. adding jobs) after calling get_result(). -*/ - -#ifndef WORKERS_HH -#define WORKERS_HH - -#include <iostream> -#include <boost/bind.hpp> -#include <boost/function.hpp> -#include <queue> -#include <boost/ptr_container/ptr_vector.hpp> -#include <boost/thread/thread.hpp> -#include <boost/thread/mutex.hpp> -#include <boost/thread/shared_mutex.hpp> -#include <boost/thread/future.hpp> -#include <boost/thread/condition.hpp> - -#include <boost/date_time/posix_time/posix_time_types.hpp> -#include "timing.h" - -/** Implements a synchronized queue*/ -template<typename J> -class Queuemt -{ - -public: - boost::condition_variable_any cond; - const bool& running; - - Queuemt() { } - Queuemt(const bool& running) : running(running), maxsize(0), qsize(0) - { - } - - ~Queuemt() { - } - - J pop() - { - J job; - { - boost::unique_lock<boost::shared_mutex> qlock(q_mutex); - while (running && qsize == 0) - cond.wait(qlock); - - if (qsize > 0) - { - job = q.front(); - q.pop(); - --qsize; - } - } - if (job) - cond.notify_one(); - return job; - - } - - void push(J job) - { - { - boost::unique_lock<boost::shared_mutex> lock(q_mutex); - q.push(job); - ++qsize; - } - if (qsize > maxsize) - maxsize = qsize; - - cond.notify_one(); - } - - int getMaxsize() - { - return maxsize; - } - - int size() - { - return qsize; - } - -private: - boost::shared_mutex q_mutex; - std::queue<J> q; - int maxsize; - volatile int qsize; -}; - - -template<typename J, typename R> -class Worker -{ -typedef boost::packaged_task<R> PackagedTask; -public: - Worker(Queuemt<J>& queue, int id, int num_workers) : - q(queue), tasktime(0.0), id(id), num_workers(num_workers) - { - PackagedTask task(boost::bind(&Worker<J, R>::run, this)); - future = task.get_future(); - boost::thread t(boost::move(task)); - } - - R run() //this is called upon thread creation - { - R wresult = 0; - while (isRunning()) - { - J job = q.pop(); - - if (job) - { - timer.Reset(); - wresult += job(); - tasktime += timer.Elapsed(); - } - } - return wresult; - } - - R getResult() - { - if (!future.is_ready()) - future.wait(); - assert(future.is_ready()); - return future.get(); - } - - double getTaskTime() - { - return tasktime; - } - -private: - - Queuemt<J>& q; - - boost::unique_future<R> future; - - bool isRunning() - { - return q.running || q.size() > 0; - } - - Timer timer; - double tasktime; - int id; - int num_workers; -}; - -template<typename J, typename R> -class WorkerPool -{ -typedef boost::packaged_task<R> PackagedTask; -typedef Worker<J,R> WJR; -typedef boost::ptr_vector<WJR> WorkerVector; -public: - - WorkerPool(int num_workers) - { - q.reset(new Queuemt<J>(running)); - running = true; - for (int i = 0; i < num_workers; ++i) - workers.push_back( new Worker<J, R>(*q, i, num_workers) ); - } - - ~WorkerPool() - { - } - - R get_result() - { - running = false; - q->cond.notify_all(); - R tmp = 0; - double tasktime = 0.0; - for (typename WorkerVector::iterator it = workers.begin(); it != workers.end(); it++) - { - R res = it->getResult(); - tmp += res; - //std::cerr << "tasktime: " << it->getTaskTime() << std::endl; - tasktime += it->getTaskTime(); - } -// std::cerr << " maxQ = " << q->getMaxsize() << std::endl; - return tmp; - } - - void addJob(J job) - { - q->push(job); - } - -private: - - WorkerVector workers; - - boost::shared_ptr<Queuemt<J> > q; - - bool running; -}; - -/////////////////// -template <typename J, typename R> -class SimpleWorker -{ -typedef boost::packaged_task<R> PackagedTask; -public: - SimpleWorker(J& job) : job(job), tasktime(0.0) - { - PackagedTask task(boost::bind(&SimpleWorker<J, R>::run, this)); - future = task.get_future(); - boost::thread t(boost::move(task)); - } - - R run() //this is called upon thread creation - { - R wresult = 0; - - assert(job); - timer.Reset(); - wresult = job(); - tasktime = timer.Elapsed(); - std::cerr << tasktime << " s" << std::endl; - return wresult; - } - - R getResult() - { - if (!future.is_ready()) - future.wait(); - assert(future.is_ready()); - return future.get(); - } - - double getTaskTime() - { - return tasktime; - } - -private: - - J job; - - boost::unique_future<R> future; - - Timer timer; - double tasktime; - -}; - - - -#endif |