Commit fac85f30 authored by Adam P. Goucher's avatar Adam P. Goucher

Fixed compilation errors

parent 41767c20
......@@ -21,7 +21,12 @@ namespace apg {
using lifetree_generic<I, 1, streammeta<I> >::htree;
using lifetree_generic<I, 1, streammeta<I> >::iterate_recurse;
using lifetree_generic<I, 1, streammeta<I> >::iterate_recurse1;
using lifetree_generic<I, 1, streammeta<I> >::ind2ptr_leaf;
using lifetree_generic<I, 1, streammeta<I> >::ind2ptr_nonleaf;
using lifetree_generic<I, 1, streammeta<I> >::ninechildren;
using lifetree_generic<I, 1, streammeta<I> >::fourchildren;
using lifetree_generic<I, 1, streammeta<I> >::make_nonleaf;
using lifetree_abstract<I>::boolean_recurse;
streamtree(uint64_t maxmem) {
// maxmem is specified in MiB, so we left-shift by 20:
......@@ -32,12 +37,12 @@ namespace apg {
* Streamlife operates on pairs of hashtiles instead of individual
* hashtiles. We want to memoize the results of these computations.
*
* Key: nicearray<I, 3> = (beszel_tile, ulqoma_tile, gencount)
* Key: nicearray<I, 4> = (beszel_tile, ulqoma_tile, depth, gencount)
* Value: nicearray<I, 2> = (beszel_tile', ulqoma_tile')
*/
std::vector<kivtable<nicearray<I, 3>, I, nicearray<I, 2> >* > biresults;
kivtable<nicearray<I, 4>, I, nicearray<I, 2> > biresults;
uint64_t node2lanes(int rule, I depth, I index) {
uint64_t node2lanes(uint64_t rule, I depth, I index) {
if (index == 0) {
return 0xffff;
......@@ -171,8 +176,8 @@ namespace apg {
if (is_solitonic(hnode, rule)) {
// BESZEL and ULQOMA tiles are provably non-interacting:
I i1 = iterate_recurse1(part1, mantissa, exponent, rule, history);
I i2 = iterate_recurse1(part2, mantissa, exponent, rule, history);
I i1 = iterate_recurse1(part1, mantissa, exponent, rule, history).index;
I i2 = iterate_recurse1(part2, mantissa, exponent, rule, history).index;
return hypernode<I>(i1, i2, hnode.depth - 1);
} else {
......@@ -189,7 +194,7 @@ namespace apg {
if (hnode.depth == 1) {
hypernode<I> hnode2 = boolean_recurse(part1, part2, 1);
I i3 = iterate_recurse1(hnode2, mantissa, exponent, rule, history);
I i3 = iterate_recurse1(hnode2, mantissa, exponent, rule, history).index;
if (i3 != 0) {
uint64_t lanes = node2lanes(rule, hnode2.depth, hnode2.index);
......
#include "classifier.h"
#include "upattern.h"
#include "streamlife.h"
int main() {
apg::lifetree<uint32_t, 4> lt(1500);
apg::streamtree<uint32_t> st(1500);
/*
apg::pattern mkn(&lt, "16bo$15b2o$15bo3bo$14bo2bob2o$13b2o5bo$13bo2bo2bo$7bo5b2o4bo$7bobo5b2o"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment