-
Notifications
You must be signed in to change notification settings - Fork 1
/
engine.h
35 lines (31 loc) · 808 Bytes
/
engine.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// Copyright (c) 2013, Tim Kaler - MIT License
#include <cilk/cilk.h>
#include <cilk/reducer_list.h>
#include <cilk/reducer_min.h>
#include <cilk/reducer_max.h>
#include <cilk/holder.h>
#include <stdio.h>
#include <cstdlib>
#include <vector>
#include <list>
#include <map>
#include <string>
#include <set>
#include <cmath>
#include <algorithm>
#include "./scheduler.h"
#ifndef ENGINE_H_
#define ENGINE_H_
template<typename VertexType, typename EdgeType>
class engine {
private:
Graph<VertexType, EdgeType>* graph;
Scheduler* scheduler;
public:
engine(Graph<VertexType, EdgeType>* graph, Scheduler* scheduler);
void run();
void process_update_task(Scheduler::update_task task);
void parallel_process(
std::vector<std::vector<Scheduler::update_task>*> subbags);
};
#endif // ENGINE_H_