Commit 86d46f0e authored by Scott Cyphers's avatar Scott Cyphers

Switch core ops to type_name description.

parent d8d940d0
...@@ -173,6 +173,7 @@ namespace ngraph ...@@ -173,6 +173,7 @@ namespace ngraph
class AvgPoolBackprop : public Op class AvgPoolBackprop : public Op
{ {
public: public:
NGRAPH_API
static const std::string type_name; static const std::string type_name;
const std::string& description() const override { return type_name; } const std::string& description() const override { return type_name; }
AvgPoolBackprop() = default; AvgPoolBackprop() = default;
......
...@@ -92,6 +92,7 @@ namespace ngraph ...@@ -92,6 +92,7 @@ namespace ngraph
class BatchNormInference : public Op class BatchNormInference : public Op
{ {
public: public:
NGRAPH_API
static const std::string type_name; static const std::string type_name;
const std::string& description() const override { return type_name; } const std::string& description() const override { return type_name; }
BatchNormInference() = default; BatchNormInference() = default;
......
...@@ -21,12 +21,14 @@ ...@@ -21,12 +21,14 @@
using namespace std; using namespace std;
using namespace ngraph; using namespace ngraph;
const string op::Pad::type_name{"Pad"};
op::Pad::Pad(const shared_ptr<Node>& arg, op::Pad::Pad(const shared_ptr<Node>& arg,
const shared_ptr<Node>& arg_pad_value, const shared_ptr<Node>& arg_pad_value,
const CoordinateDiff& padding_below, const CoordinateDiff& padding_below,
const CoordinateDiff& padding_above, const CoordinateDiff& padding_above,
PadMode pad_mode) PadMode pad_mode)
: Op("Pad", check_single_output_args({arg, arg_pad_value})) : Op(check_single_output_args({arg, arg_pad_value}))
, m_padding_below(padding_below) , m_padding_below(padding_below)
, m_padding_above(padding_above) , m_padding_above(padding_above)
, m_padding_interior_fake(padding_below.size()) , m_padding_interior_fake(padding_below.size())
......
...@@ -28,6 +28,9 @@ namespace ngraph ...@@ -28,6 +28,9 @@ namespace ngraph
class Pad : public Op class Pad : public Op
{ {
public: public:
NGRAPH_API
static const std::string type_name;
const std::string& description() const override { return type_name; }
/// \brief Constructs a generic padding operation. /// \brief Constructs a generic padding operation.
/// ///
/// \param arg The node producing input tensor to be padded. /// \param arg The node producing input tensor to be padded.
......
...@@ -21,10 +21,12 @@ ...@@ -21,10 +21,12 @@
using namespace std; using namespace std;
using namespace ngraph; using namespace ngraph;
const string op::Parameter::type_name{"Parameter"};
op::Parameter::Parameter(const element::Type& element_type, op::Parameter::Parameter(const element::Type& element_type,
const PartialShape& pshape, const PartialShape& pshape,
const bool cacheable) const bool cacheable)
: Op("Parameter", {}) : Op(NodeVector{})
, m_cacheable(cacheable) , m_cacheable(cacheable)
, m_partial_shape(pshape) , m_partial_shape(pshape)
, m_element_type(element_type) , m_element_type(element_type)
......
...@@ -35,6 +35,9 @@ namespace ngraph ...@@ -35,6 +35,9 @@ namespace ngraph
const NodeVector& deltas) override; const NodeVector& deltas) override;
public: public:
NGRAPH_API
static const std::string type_name;
const std::string& description() const override { return type_name; }
/// \brief Constructions a tensor-typed parameter node. /// \brief Constructions a tensor-typed parameter node.
/// ///
/// \param element_type The element type of the parameter. /// \param element_type The element type of the parameter.
......
...@@ -18,12 +18,17 @@ ...@@ -18,12 +18,17 @@
#include "ngraph/op/passthrough.hpp" #include "ngraph/op/passthrough.hpp"
using namespace std;
using namespace ngraph;
const string op::Passthrough::type_name{"Passthrough"};
ngraph::op::Passthrough::Passthrough(const std::string& logical_type, ngraph::op::Passthrough::Passthrough(const std::string& logical_type,
const std::string& language, const std::string& language,
const std::string& function, const std::string& function,
const NodeVector& args, const NodeVector& args,
std::vector<std::tuple<element::Type, PartialShape>> outputs) std::vector<std::tuple<element::Type, PartialShape>> outputs)
: Op{"Passthrough", args} : Op{args}
, m_logical_type{logical_type} , m_logical_type{logical_type}
, m_language{language} , m_language{language}
, m_function{function} , m_function{function}
...@@ -65,5 +70,5 @@ std::shared_ptr<ngraph::Node> ...@@ -65,5 +70,5 @@ std::shared_ptr<ngraph::Node>
"Passthrough node input counts cannot be changed for a given Passthrough function"}; "Passthrough node input counts cannot be changed for a given Passthrough function"};
} }
return std::make_shared<Passthrough>( return std::make_shared<Passthrough>(
description(), m_language, m_function, new_args, m_output_shapes); m_logical_type, m_language, m_function, new_args, m_output_shapes);
} }
...@@ -38,6 +38,9 @@ namespace ngraph ...@@ -38,6 +38,9 @@ namespace ngraph
class ngraph::op::Passthrough final : public Op class ngraph::op::Passthrough final : public Op
{ {
public: public:
NGRAPH_API
static const std::string type_name;
const std::string& description() const override { return type_name; }
Passthrough(const std::string& logical_type, // aka "What this operation is doing" Passthrough(const std::string& logical_type, // aka "What this operation is doing"
const std::string& language, // The language the implementation is written in const std::string& language, // The language the implementation is written in
const std::string& function, // The operation implementation const std::string& function, // The operation implementation
......
...@@ -22,10 +22,12 @@ ...@@ -22,10 +22,12 @@
using namespace std; using namespace std;
using namespace ngraph; using namespace ngraph;
const string op::Power::type_name{"Power"};
op::Power::Power(const shared_ptr<Node>& arg0, op::Power::Power(const shared_ptr<Node>& arg0,
const shared_ptr<Node>& arg1, const shared_ptr<Node>& arg1,
const AutoBroadcastSpec& autob) const AutoBroadcastSpec& autob)
: BinaryElementwiseArithmetic("Power", arg0, arg1, autob) : BinaryElementwiseArithmetic(arg0, arg1, autob)
{ {
constructor_validate_and_infer_types(); constructor_validate_and_infer_types();
} }
......
...@@ -39,6 +39,9 @@ namespace ngraph ...@@ -39,6 +39,9 @@ namespace ngraph
class Power : public util::BinaryElementwiseArithmetic class Power : public util::BinaryElementwiseArithmetic
{ {
public: public:
NGRAPH_API
static const std::string type_name;
const std::string& description() const override { return type_name; }
/// \brief Constructs an exponentiation operation. /// \brief Constructs an exponentiation operation.
/// ///
/// \param arg0 Node that produces the first input tensor. /// \param arg0 Node that produces the first input tensor.
......
...@@ -20,8 +20,11 @@ ...@@ -20,8 +20,11 @@
using namespace std; using namespace std;
using namespace ngraph; using namespace ngraph;
const string op::Relu::type_name{"Relu"};
const string op::ReluBackprop::type_name{"ReluBackprop"};
op::Relu::Relu(shared_ptr<Node> arg) op::Relu::Relu(shared_ptr<Node> arg)
: UnaryElementwiseArithmetic("Relu", {arg}) : UnaryElementwiseArithmetic({arg})
{ {
constructor_validate_and_infer_types(); constructor_validate_and_infer_types();
} }
...@@ -33,7 +36,7 @@ shared_ptr<Node> op::Relu::copy_with_new_args(const NodeVector& new_args) const ...@@ -33,7 +36,7 @@ shared_ptr<Node> op::Relu::copy_with_new_args(const NodeVector& new_args) const
} }
op::ReluBackprop::ReluBackprop(shared_ptr<Node> arg, shared_ptr<Node> delta) op::ReluBackprop::ReluBackprop(shared_ptr<Node> arg, shared_ptr<Node> delta)
: BinaryElementwiseArithmetic("ReluBackprop", arg, delta) : BinaryElementwiseArithmetic(arg, delta)
{ {
constructor_validate_and_infer_types(); constructor_validate_and_infer_types();
} }
......
...@@ -33,6 +33,9 @@ namespace ngraph ...@@ -33,6 +33,9 @@ namespace ngraph
class Relu : public ngraph::op::util::UnaryElementwiseArithmetic class Relu : public ngraph::op::util::UnaryElementwiseArithmetic
{ {
public: public:
NGRAPH_API
static const std::string type_name;
const std::string& description() const override { return type_name; }
/// \brief Constructs a Relu operation. /// \brief Constructs a Relu operation.
/// ///
/// \param arg Node that produces the input tensor. /// \param arg Node that produces the input tensor.
...@@ -50,6 +53,9 @@ namespace ngraph ...@@ -50,6 +53,9 @@ namespace ngraph
class ReluBackprop : public ngraph::op::util::BinaryElementwiseArithmetic class ReluBackprop : public ngraph::op::util::BinaryElementwiseArithmetic
{ {
public: public:
NGRAPH_API
static const std::string type_name;
const std::string& description() const override { return type_name; }
/// \brief Constructs a ReluBackprop operation. /// \brief Constructs a ReluBackprop operation.
/// ///
/// \param arg Node that produces the relu forward input tensor. /// \param arg Node that produces the relu forward input tensor.
......
...@@ -23,8 +23,10 @@ ...@@ -23,8 +23,10 @@
using namespace std; using namespace std;
using namespace ngraph; using namespace ngraph;
const string op::Reverse::type_name{"Reverse"};
op::Reverse::Reverse(const shared_ptr<Node>& arg, const AxisSet& reversed_axes) op::Reverse::Reverse(const shared_ptr<Node>& arg, const AxisSet& reversed_axes)
: Op("Reverse", check_single_output_args({arg})) : Op(check_single_output_args({arg}))
, m_reversed_axes(reversed_axes) , m_reversed_axes(reversed_axes)
{ {
constructor_validate_and_infer_types(); constructor_validate_and_infer_types();
......
...@@ -46,6 +46,9 @@ namespace ngraph ...@@ -46,6 +46,9 @@ namespace ngraph
class Reverse : public Op class Reverse : public Op
{ {
public: public:
NGRAPH_API
static const std::string type_name;
const std::string& description() const override { return type_name; }
/// \brief Constructs a reverse operation. /// \brief Constructs a reverse operation.
/// ///
/// \param arg The input tensor, some of whose axes are to be reversed. /// \param arg The input tensor, some of whose axes are to be reversed.
......
...@@ -25,11 +25,13 @@ ...@@ -25,11 +25,13 @@
using namespace std; using namespace std;
using namespace ngraph; using namespace ngraph;
const string op::ReverseSequence::type_name{"ReverseSequence"};
op::ReverseSequence::ReverseSequence(const std::shared_ptr<Node> arg, op::ReverseSequence::ReverseSequence(const std::shared_ptr<Node> arg,
const std::shared_ptr<Node> seq_indices, const std::shared_ptr<Node> seq_indices,
size_t batch_axis, size_t batch_axis,
size_t seq_axis) size_t seq_axis)
: Op("ReverseSequence", check_single_output_args({arg, seq_indices})) : Op(check_single_output_args({arg, seq_indices}))
, m_batch_axis(batch_axis) , m_batch_axis(batch_axis)
, m_seq_axis(seq_axis) , m_seq_axis(seq_axis)
{ {
......
...@@ -25,6 +25,9 @@ namespace ngraph ...@@ -25,6 +25,9 @@ namespace ngraph
class ReverseSequence : public Op class ReverseSequence : public Op
{ {
public: public:
NGRAPH_API
static const std::string type_name;
const std::string& description() const override { return type_name; }
/// \brief Constructs an arcsin operation. /// \brief Constructs an arcsin operation.
/// ///
/// \param arg Node that produces the input tensor. /// \param arg Node that produces the input tensor.
......
...@@ -24,6 +24,8 @@ static int INPUTS = 0; ...@@ -24,6 +24,8 @@ static int INPUTS = 0;
static int INDICES = 1; static int INDICES = 1;
static int UPDATES = 2; static int UPDATES = 2;
const string op::ScatterAdd::type_name{"ScatterAdd"};
shared_ptr<Node> op::ScatterAdd::copy_with_new_args(const NodeVector& new_args) const shared_ptr<Node> op::ScatterAdd::copy_with_new_args(const NodeVector& new_args) const
{ {
check_new_args_count(this, new_args); check_new_args_count(this, new_args);
......
...@@ -26,13 +26,16 @@ namespace ngraph ...@@ -26,13 +26,16 @@ namespace ngraph
class ScatterAdd : public Op class ScatterAdd : public Op
{ {
public: public:
NGRAPH_API
static const std::string type_name;
const std::string& description() const override { return type_name; }
/// \param inputs Tensor /// \param inputs Tensor
/// \param indices Index tensor: Data type must be `element::i32` or `element::i64` /// \param indices Index tensor: Data type must be `element::i32` or `element::i64`
/// \param updates Tensor: Must have same type as inputs /// \param updates Tensor: Must have same type as inputs
ScatterAdd(const std::shared_ptr<Node>& inputs, ScatterAdd(const std::shared_ptr<Node>& inputs,
const std::shared_ptr<Node>& indices, const std::shared_ptr<Node>& indices,
const std::shared_ptr<Node>& updates) const std::shared_ptr<Node>& updates)
: Op("ScatterAdd", check_single_output_args({inputs, indices, updates})) : Op(check_single_output_args({inputs, indices, updates}))
{ {
constructor_validate_and_infer_types(); constructor_validate_and_infer_types();
} }
......
...@@ -24,6 +24,8 @@ static int INPUTS = 0; ...@@ -24,6 +24,8 @@ static int INPUTS = 0;
static int INDICES = 1; static int INDICES = 1;
static int UPDATES = 2; static int UPDATES = 2;
const string op::ScatterNDAdd::type_name{"ScatterNDAdd"};
shared_ptr<Node> op::ScatterNDAdd::copy_with_new_args(const NodeVector& new_args) const shared_ptr<Node> op::ScatterNDAdd::copy_with_new_args(const NodeVector& new_args) const
{ {
check_new_args_count(this, new_args); check_new_args_count(this, new_args);
......
...@@ -26,13 +26,16 @@ namespace ngraph ...@@ -26,13 +26,16 @@ namespace ngraph
class ScatterNDAdd : public Op class ScatterNDAdd : public Op
{ {
public: public:
NGRAPH_API
static const std::string type_name;
const std::string& description() const override { return type_name; }
/// \param inputs Tensor /// \param inputs Tensor
/// \param indices Index tensor: Data type must be `element::i32` or `element::i64` /// \param indices Index tensor: Data type must be `element::i32` or `element::i64`
/// \param updates Tensor: Must have same type as inputs /// \param updates Tensor: Must have same type as inputs
ScatterNDAdd(const std::shared_ptr<Node>& inputs, ScatterNDAdd(const std::shared_ptr<Node>& inputs,
const std::shared_ptr<Node>& indices, const std::shared_ptr<Node>& indices,
const std::shared_ptr<Node>& updates) const std::shared_ptr<Node>& updates)
: Op("ScatterNDAdd", check_single_output_args({inputs, indices, updates})) : Op(check_single_output_args({inputs, indices, updates}))
{ {
constructor_validate_and_infer_types(); constructor_validate_and_infer_types();
} }
......
...@@ -21,6 +21,9 @@ ...@@ -21,6 +21,9 @@
using namespace std; using namespace std;
using namespace ngraph; using namespace ngraph;
const string op::Sigmoid::type_name{"Sigmoid"};
const string op::SigmoidBackprop::type_name{"SigmoidBackprop"};
shared_ptr<Node> op::Sigmoid::copy_with_new_args(const NodeVector& new_args) const shared_ptr<Node> op::Sigmoid::copy_with_new_args(const NodeVector& new_args) const
{ {
check_new_args_count(this, new_args); check_new_args_count(this, new_args);
...@@ -28,13 +31,13 @@ shared_ptr<Node> op::Sigmoid::copy_with_new_args(const NodeVector& new_args) con ...@@ -28,13 +31,13 @@ shared_ptr<Node> op::Sigmoid::copy_with_new_args(const NodeVector& new_args) con
} }
op::Sigmoid::Sigmoid(shared_ptr<Node> arg) op::Sigmoid::Sigmoid(shared_ptr<Node> arg)
: UnaryElementwiseArithmetic("Sigmoid", arg) : UnaryElementwiseArithmetic(arg)
{ {
constructor_validate_and_infer_types(); constructor_validate_and_infer_types();
} }
op::SigmoidBackprop::SigmoidBackprop(shared_ptr<Node> arg, shared_ptr<Node> delta) op::SigmoidBackprop::SigmoidBackprop(shared_ptr<Node> arg, shared_ptr<Node> delta)
: BinaryElementwiseArithmetic("SigmoidBackprop", arg, delta) : BinaryElementwiseArithmetic(arg, delta)
{ {
constructor_validate_and_infer_types(); constructor_validate_and_infer_types();
} }
......
...@@ -28,6 +28,9 @@ namespace ngraph ...@@ -28,6 +28,9 @@ namespace ngraph
class Sigmoid : public util::UnaryElementwiseArithmetic class Sigmoid : public util::UnaryElementwiseArithmetic
{ {
public: public:
NGRAPH_API
static const std::string type_name;
const std::string& description() const override { return type_name; }
Sigmoid(std::shared_ptr<Node> arg); Sigmoid(std::shared_ptr<Node> arg);
virtual std::shared_ptr<Node> virtual std::shared_ptr<Node>
copy_with_new_args(const NodeVector& new_args) const override; copy_with_new_args(const NodeVector& new_args) const override;
...@@ -40,6 +43,9 @@ namespace ngraph ...@@ -40,6 +43,9 @@ namespace ngraph
class SigmoidBackprop : public util::BinaryElementwiseArithmetic class SigmoidBackprop : public util::BinaryElementwiseArithmetic
{ {
public: public:
NGRAPH_API
static const std::string type_name;
const std::string& description() const override { return type_name; }
/// \brief Constructs a SigmoidBackprop operation. /// \brief Constructs a SigmoidBackprop operation.
/// ///
/// \param arg Node that produces the Sigmoid forward input tensor. /// \param arg Node that produces the Sigmoid forward input tensor.
......
...@@ -19,8 +19,10 @@ ...@@ -19,8 +19,10 @@
using namespace std; using namespace std;
using namespace ngraph; using namespace ngraph;
const string op::Sign::type_name{"Sign"};
op::Sign::Sign(const shared_ptr<Node>& arg) op::Sign::Sign(const shared_ptr<Node>& arg)
: UnaryElementwiseArithmetic("Sign", arg) : UnaryElementwiseArithmetic(arg)
{ {
constructor_validate_and_infer_types(); constructor_validate_and_infer_types();
} }
......
...@@ -27,6 +27,9 @@ namespace ngraph ...@@ -27,6 +27,9 @@ namespace ngraph
class Sign : public util::UnaryElementwiseArithmetic class Sign : public util::UnaryElementwiseArithmetic
{ {
public: public:
NGRAPH_API
static const std::string type_name;
const std::string& description() const override { return type_name; }
/// \brief Constructs an elementwise sign operation. /// \brief Constructs an elementwise sign operation.
/// ///
/// \param arg Node that produces the input tensor. /// \param arg Node that produces the input tensor.
......
...@@ -21,8 +21,10 @@ ...@@ -21,8 +21,10 @@
using namespace std; using namespace std;
using namespace ngraph; using namespace ngraph;
const string op::Sin::type_name{"Sin"};
op::Sin::Sin(const shared_ptr<Node>& arg) op::Sin::Sin(const shared_ptr<Node>& arg)
: UnaryElementwiseArithmetic("Sin", arg) : UnaryElementwiseArithmetic(arg)
{ {
constructor_validate_and_infer_types(); constructor_validate_and_infer_types();
} }
......
...@@ -38,6 +38,9 @@ namespace ngraph ...@@ -38,6 +38,9 @@ namespace ngraph
class Sin : public util::UnaryElementwiseArithmetic class Sin : public util::UnaryElementwiseArithmetic
{ {
public: public:
NGRAPH_API
static const std::string type_name;
const std::string& description() const override { return type_name; }
/// \brief Constructs a sine operation. /// \brief Constructs a sine operation.
/// ///
/// \param arg Node that produces the input tensor. /// \param arg Node that produces the input tensor.
......
...@@ -21,8 +21,10 @@ ...@@ -21,8 +21,10 @@
using namespace std; using namespace std;
using namespace ngraph; using namespace ngraph;
const string op::Sinh::type_name{"Sinh"};
op::Sinh::Sinh(const shared_ptr<Node>& arg) op::Sinh::Sinh(const shared_ptr<Node>& arg)
: UnaryElementwiseArithmetic("Sinh", arg) : UnaryElementwiseArithmetic(arg)
{ {
constructor_validate_and_infer_types(); constructor_validate_and_infer_types();
} }
......
...@@ -26,6 +26,9 @@ namespace ngraph ...@@ -26,6 +26,9 @@ namespace ngraph
class Sinh : public util::UnaryElementwiseArithmetic class Sinh : public util::UnaryElementwiseArithmetic
{ {
public: public:
NGRAPH_API
static const std::string type_name;
const std::string& description() const override { return type_name; }
/// \brief Constructs a hyperbolic sine operation. /// \brief Constructs a hyperbolic sine operation.
/// ///
/// \param arg Node that produces the input tensor. /// \param arg Node that produces the input tensor.
......
...@@ -29,8 +29,10 @@ ...@@ -29,8 +29,10 @@
using namespace std; using namespace std;
using namespace ngraph; using namespace ngraph;
const string op::Softmax::type_name{"Softmax"};
op::Softmax::Softmax(const shared_ptr<Node>& arg, const AxisSet& axes) op::Softmax::Softmax(const shared_ptr<Node>& arg, const AxisSet& axes)
: UnaryElementwiseArithmetic("Softmax", arg) : UnaryElementwiseArithmetic(arg)
, m_axes(axes) , m_axes(axes)
{ {
constructor_validate_and_infer_types(); constructor_validate_and_infer_types();
......
...@@ -27,6 +27,9 @@ namespace ngraph ...@@ -27,6 +27,9 @@ namespace ngraph
class Softmax : public util::UnaryElementwiseArithmetic class Softmax : public util::UnaryElementwiseArithmetic
{ {
public: public:
NGRAPH_API
static const std::string type_name;
const std::string& description() const override { return type_name; }
/// \brief Constructs a softmax operation. /// \brief Constructs a softmax operation.
/// ///
/// \param arg Node that produces the first input tensor.<br> /// \param arg Node that produces the first input tensor.<br>
......
...@@ -21,8 +21,10 @@ ...@@ -21,8 +21,10 @@
using namespace std; using namespace std;
using namespace ngraph; using namespace ngraph;
const string op::Sqrt::type_name{"Sqrt"};
op::Sqrt::Sqrt(const shared_ptr<Node>& arg) op::Sqrt::Sqrt(const shared_ptr<Node>& arg)
: UnaryElementwiseArithmetic("Sqrt", arg) : UnaryElementwiseArithmetic(arg)
{ {
constructor_validate_and_infer_types(); constructor_validate_and_infer_types();
} }
......
...@@ -38,6 +38,9 @@ namespace ngraph ...@@ -38,6 +38,9 @@ namespace ngraph
class Sqrt : public util::UnaryElementwiseArithmetic class Sqrt : public util::UnaryElementwiseArithmetic
{ {
public: public:
NGRAPH_API
static const std::string type_name;
const std::string& description() const override { return type_name; }
/// \brief Constructs a square operation. /// \brief Constructs a square operation.
/// ///
/// \param arg Node that produces the input tensor. /// \param arg Node that produces the input tensor.
......
...@@ -21,8 +21,10 @@ ...@@ -21,8 +21,10 @@
using namespace std; using namespace std;
using namespace ngraph; using namespace ngraph;
const string op::StopGradient::type_name{"StopGradient"};
op::StopGradient::StopGradient(const shared_ptr<Node>& arg) op::StopGradient::StopGradient(const shared_ptr<Node>& arg)
: UnaryElementwiseArithmetic("StopGradient", arg) : UnaryElementwiseArithmetic(arg)
{ {
constructor_validate_and_infer_types(); constructor_validate_and_infer_types();
} }
......
...@@ -26,6 +26,9 @@ namespace ngraph ...@@ -26,6 +26,9 @@ namespace ngraph
class StopGradient : public util::UnaryElementwiseArithmetic class StopGradient : public util::UnaryElementwiseArithmetic
{ {
public: public:
NGRAPH_API
static const std::string type_name;
const std::string& description() const override { return type_name; }
/// \brief Constructs StopGradient /// \brief Constructs StopGradient
/// ///
/// \param arg Node that produces the input tensor. /// \param arg Node that produces the input tensor.
......
...@@ -22,8 +22,10 @@ ...@@ -22,8 +22,10 @@
using namespace std; using namespace std;
using namespace ngraph; using namespace ngraph;
const string op::Tan::type_name{"Tan"};
op::Tan::Tan(const shared_ptr<Node>& arg) op::Tan::Tan(const shared_ptr<Node>& arg)
: UnaryElementwiseArithmetic("Tan", arg) : UnaryElementwiseArithmetic(arg)
{ {
constructor_validate_and_infer_types(); constructor_validate_and_infer_types();
} }
......
...@@ -38,6 +38,9 @@ namespace ngraph ...@@ -38,6 +38,9 @@ namespace ngraph
class Tan : public util::UnaryElementwiseArithmetic class Tan : public util::UnaryElementwiseArithmetic
{ {
public: public:
NGRAPH_API
static const std::string type_name;
const std::string& description() const override { return type_name; }
/// \brief Constructs a tangent operation. /// \brief Constructs a tangent operation.
/// ///
/// \param arg Node that produces the input tensor. /// \param arg Node that produces the input tensor.
......
...@@ -21,8 +21,10 @@ ...@@ -21,8 +21,10 @@
using namespace std; using namespace std;
using namespace ngraph; using namespace ngraph;
const string op::Tanh::type_name{"Tanh"};
op::Tanh::Tanh(const shared_ptr<Node>& arg) op::Tanh::Tanh(const shared_ptr<Node>& arg)
: UnaryElementwiseArithmetic("Tanh", arg) : UnaryElementwiseArithmetic(arg)
{ {
constructor_validate_and_infer_types(); constructor_validate_and_infer_types();
} }
......
...@@ -26,6 +26,9 @@ namespace ngraph ...@@ -26,6 +26,9 @@ namespace ngraph
class Tanh : public util::UnaryElementwiseArithmetic class Tanh : public util::UnaryElementwiseArithmetic
{ {
public: public:
NGRAPH_API
static const std::string type_name;
const std::string& description() const override { return type_name; }
/// \brief Constructs a hyperbolic tangent operation. /// \brief Constructs a hyperbolic tangent operation.
/// ///
/// \param arg Node that produces the input tensor. /// \param arg Node that produces the input tensor.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment