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

daisytuner / docc / 26812260585

02 Jun 2026 08:49AM UTC coverage: 60.823% (-0.05%) from 60.869%
26812260585

Pull #725

github

web-flow
Merge eceff48b9 into cd25c9278
Pull Request #725: Tensor node backport

599 of 1255 new or added lines in 51 files covered. (47.73%)

541 existing lines in 46 files now uncovered.

35094 of 57699 relevant lines covered (60.82%)

11078.43 hits per line

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

78.26
/sdfg/src/data_flow/library_nodes/math/tensor/elementwise_ops/abs_node.cpp
1
#include "sdfg/data_flow/library_nodes/math/tensor/elementwise_ops/abs_node.h"
2

3
#include "sdfg/analysis/analysis.h"
4
#include "sdfg/builder/structured_sdfg_builder.h"
5

6
#include "sdfg/analysis/scope_analysis.h"
7

8
#include "sdfg/data_flow/library_nodes/math/cmath/cmath_node.h"
9
#include "sdfg/types/type.h"
10

11
namespace sdfg {
12
namespace math {
13
namespace tensor {
14

15
AbsNode::AbsNode(
16
    size_t element_id,
17
    const DebugInfo& debug_info,
18
    const graph::Vertex vertex,
19
    data_flow::DataFlowGraph& parent,
20
    const std::vector<symbolic::Expression>& shape,
21
    QuantizationType quantization,
22
    const data_flow::ImplementationType& impl_type
23
)
24
    : ElementWiseDataflowTensorNode(
5✔
25
          element_id, debug_info, vertex, parent, LibraryNodeType_Abs, shape, "Y", {"X"}, quantization, impl_type
5✔
26
      ) {}
5✔
27

28
ElementWiseDataflowTensorNode::ElementOutput AbsNode::expand_operation_dataflow(
29
    builder::StructuredSDFGBuilder& builder,
30
    analysis::AnalysisManager& analysis_manager,
31
    Block& block,
32
    std::vector<ElementInput>& needed_inputs,
33
    types::PrimitiveType expected_type
34
) {
5✔
35
    auto& input = needed_inputs.at(0);
5✔
36

37
    if (types::is_integer(input.required_type)) {
5✔
38
        auto& tasklet = builder.add_tasklet(block, data_flow::TaskletCode::int_abs, "_out", {"_in"});
1✔
39
        input.consumer = &tasklet;
1✔
40
        input.input_conn_index = 0;
1✔
41
        return {.producer = &tasklet, .output_conn_index = 0, .type = input.required_type};
1✔
42
    } else {
4✔
43
        auto& libnode = builder.add_library_node<
4✔
44
            math::cmath::CMathNode>(block, debug_info_, cmath::CMathFunction::fabs, input.required_type);
4✔
45
        input.consumer = &libnode;
4✔
46
        input.input_conn_index = 0;
4✔
47
        return {.producer = &libnode, .output_conn_index = 0, .type = input.required_type};
4✔
48
    }
4✔
49
}
5✔
50

51
std::unique_ptr<data_flow::DataFlowNode> AbsNode::
52
    clone(size_t element_id, const graph::Vertex vertex, data_flow::DataFlowGraph& parent) const {
×
NEW
53
    return std::unique_ptr<data_flow::DataFlowNode>(new AbsNode(
×
NEW
54
        element_id, this->debug_info(), vertex, parent, this->shape_, fixed_quantization_, implementation_type_
×
NEW
55
    ));
×
UNCOV
56
}
×
57

58
} // namespace tensor
59
} // namespace math
60
} // 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