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

daisytuner / sdfglib / 20585279183

29 Dec 2025 11:48PM UTC coverage: 39.581% (-0.8%) from 40.359%
20585279183

push

github

web-flow
Merge pull request #412 from daisytuner/mean-std-nodes

adds mean/std library nodes

14647 of 48066 branches covered (30.47%)

Branch coverage included in aggregate %.

225 of 622 new or added lines in 14 files covered. (36.17%)

41 existing lines in 1 file now uncovered.

12489 of 20493 relevant lines covered (60.94%)

87.19 hits per line

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

0.0
/include/sdfg/data_flow/library_nodes/math/tensor/reduce_ops/softmax_node.h
1
#pragma once
2

3
#include "sdfg/data_flow/library_nodes/math/tensor/reduce_node.h"
4

5
namespace sdfg {
6
namespace math {
7
namespace tensor {
8

9
inline data_flow::LibraryNodeCode LibraryNodeType_Softmax("ml::Softmax");
10

11
class SoftmaxNode : public ReduceNode {
12
public:
13
    SoftmaxNode(
14
        size_t element_id,
15
        const DebugInfo& debug_info,
16
        const graph::Vertex vertex,
17
        data_flow::DataFlowGraph& parent,
18
        const std::vector<symbolic::Expression>& shape,
19
        const std::vector<int64_t>& axes,
20
        bool keepdims = false
21
    );
22

23
    bool expand(builder::StructuredSDFGBuilder& builder, analysis::AnalysisManager& analysis_manager) override;
24

25
    // Not used but required by abstract base class if I didn't override expand?
26
    // Actually ReduceNode::expand calls expand_reduction, but since I override expand, I don't need to implement
27
    // expand_reduction if I don't call ReduceNode::expand. However, ReduceNode declares expand_reduction as pure
28
    // virtual? No, it's virtual but not pure in the header I read? Let's check ReduceNode header again. It says:
29
    // virtual bool expand_reduction(...) = 0; So I MUST implement it, even if I don't use it.
NEW
30
    bool expand_reduction(
×
31
        builder::StructuredSDFGBuilder& builder,
32
        analysis::AnalysisManager& analysis_manager,
33
        structured_control_flow::Sequence& body,
34
        const std::string& input_name,
35
        const std::string& output_name,
36
        const types::IType& input_type,
37
        const types::IType& output_type,
38
        const data_flow::Subset& input_subset,
39
        const data_flow::Subset& output_subset
40
    ) override {
NEW
41
        return false;
×
42
    }
43

NEW
44
    std::string identity() const override { return ""; }
×
45

46
    std::unique_ptr<data_flow::DataFlowNode>
47
    clone(size_t element_id, const graph::Vertex vertex, data_flow::DataFlowGraph& parent) const override;
48
};
49

50
typedef ReduceNodeSerializer<SoftmaxNode> SoftmaxNodeSerializer;
51

52
} // namespace tensor
53
} // namespace math
54
} // 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