~tapaal-ltl/verifypn/scc-optimise

« back to all changes in this revision

Viewing changes to CTL/SearchStrategy/RDFSSearch.cpp

  • Committer: srba.jiri at gmail
  • Date: 2020-09-11 14:23:39 UTC
  • mfrom: (213.1.151 interval_tar)
  • Revision ID: srba.jiri@gmail.com-20200911142339-bq9328s1gppw24uj
merged in lp:~verifypn-maintainers/verifypn/interval_tar doing 
- Implements TAR w/o z3, but using a simple integer inference engine for Hoare logic.
 - Replaces LP-Solve with GLPK, reduces computation-time and memory overhead
 - Implements new global properties, translated into CTL formulae.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* 
2
 
 * File:   Encoder.h
3
 
 * Author: Peter G. Jensen
4
 
 * 
5
 
 * Created on March 7, 2018, 1:52 PM
6
 
 */
7
 
 
8
 
#include "RDFSSearch.h"
9
 
#include "CTL/DependencyGraph/Configuration.h"
10
 
 
11
 
namespace SearchStrategy {
12
 
size_t RDFSSearch::Wsize() const {
13
 
    return W.size();
14
 
}
15
 
 
16
 
DependencyGraph::Edge* RDFSSearch::popFromW() {
17
 
    auto e = W.back();
18
 
    W.pop_back();
19
 
    last_parent = W.size();
20
 
    return e;
21
 
}
22
 
 
23
 
void RDFSSearch::pushToW(DependencyGraph::Edge* edge) {
24
 
    last_parent = std::min(W.size(), last_parent);
25
 
    W.push_back(edge);
26
 
}
27
 
 
28
 
 
29
 
size_t genrand(size_t i)
30
 
{
31
 
        return std::rand() % i;
32
 
}
33
 
 
34
 
void RDFSSearch::flush() {
35
 
    last_parent = std::min(last_parent, W.size());
36
 
    std::random_shuffle(W.begin() + last_parent, W.end(), genrand);
37
 
    last_parent = W.size();
38
 
}
39
 
 
40
 
}
 
 
b'\\ No newline at end of file'