• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

daisytuner / sdfglib / 16779684622

06 Aug 2025 02:21PM UTC coverage: 64.3% (-1.0%) from 65.266%
16779684622

push

github

web-flow
Merge pull request #172 from daisytuner/opaque-pointers

Opaque pointers, typed memlets, untyped tasklet connectors

330 of 462 new or added lines in 38 files covered. (71.43%)

382 existing lines in 30 files now uncovered.

8865 of 13787 relevant lines covered (64.3%)

116.73 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

56.0
/src/data_flow/tasklet.cpp
1
#include "sdfg/data_flow/tasklet.h"
2

3
#include "sdfg/symbolic/symbolic.h"
4

5
namespace sdfg {
6
namespace data_flow {
7

8
Tasklet::Tasklet(
334✔
9
    size_t element_id,
10
    const DebugInfo& debug_info,
11
    const graph::Vertex vertex,
12
    DataFlowGraph& parent,
13
    const TaskletCode code,
14
    const std::string& output,
15
    const std::vector<std::string>& inputs,
16
    const symbolic::Condition& condition
17
)
18
    : CodeNode(element_id, debug_info, vertex, parent), code_(code), output_(output), inputs_(inputs),
668✔
19
      condition_(condition) {};
668✔
20

21
void Tasklet::validate(const Function& function) const {
300✔
22
    // TODO: Implement
23
}
300✔
24

25
TaskletCode Tasklet::code() const { return this->code_; };
800✔
26

27
const std::vector<std::string>& Tasklet::inputs() const { return this->inputs_; };
958✔
28

29
std::vector<std::string>& Tasklet::inputs() { return this->inputs_; };
2✔
30

31
const std::string& Tasklet::output() const { return this->output_; };
838✔
32

33
const std::string& Tasklet::input(size_t index) const { return this->inputs_[index]; };
253✔
34

UNCOV
35
bool Tasklet::needs_connector(size_t index) const {
×
36
    // Is non-constant, if starts with _in prefix
NEW
37
    if (this->inputs_[index].compare(0, 3, "_in") == 0) {
×
UNCOV
38
        return true;
×
39
    }
UNCOV
40
    return false;
×
UNCOV
41
};
×
42

43
const symbolic::Condition& Tasklet::condition() const { return this->condition_; };
×
44

45
symbolic::Condition& Tasklet::condition() { return this->condition_; };
×
46

47
bool Tasklet::is_conditional() const { return !symbolic::is_true(this->condition_); };
196✔
48

49
std::unique_ptr<DataFlowNode> Tasklet::clone(size_t element_id, const graph::Vertex vertex, DataFlowGraph& parent)
×
50
    const {
51
    return std::unique_ptr<Tasklet>(new Tasklet(
×
52
        element_id, this->debug_info_, vertex, parent, this->code_, this->output_, this->inputs_, this->condition_
×
53
    ));
54
};
×
55

56
void Tasklet::replace(const symbolic::Expression& old_expression, const symbolic::Expression& new_expression) {
2✔
57
    this->condition_ = symbolic::subs(this->condition_, old_expression, new_expression);
2✔
58
};
2✔
59

60
} // namespace data_flow
61
} // namespace sdfg
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc