Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revise floor #5618

Merged
merged 14 commits into from
May 21, 2021
12 changes: 7 additions & 5 deletions docs/ops/arithmetic/Floor_1.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,13 @@

**Short description**: *Floor* performs element-wise floor operation with given tensor.

**Detailed description**: For each element from the input tensor calculates corresponding
element in the output tensor with the following formula:

\f[
a_{i} = floor(a_{i})
\f]

**Attributes**:

No attributes available.
pszmel marked this conversation as resolved.
Show resolved Hide resolved
Expand All @@ -22,11 +29,6 @@

* *T*: any numeric type.
pszmel marked this conversation as resolved.
Show resolved Hide resolved

*Floor* does the following with the input tensor *a*:

\f[
a_{i} = floor(a_{i})
\f]

**Examples**

Expand Down
3 changes: 1 addition & 2 deletions ngraph/core/include/ngraph/op/floor.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ namespace ngraph
class NGRAPH_API Floor : public util::UnaryElementwiseArithmetic
{
public:
static constexpr NodeTypeInfo type_info{"Floor", 0};
const NodeTypeInfo& get_type_info() const override { return type_info; }
NGRAPH_RTTI_DECLARATION;
/// \brief Constructs a floor operation.
Floor() = default;
/// \brief Constructs a floor operation.
Expand Down
4 changes: 2 additions & 2 deletions ngraph/core/src/op/floor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
using namespace std;
using namespace ngraph;

constexpr NodeTypeInfo op::Floor::type_info;

op::Floor::Floor(const Output<Node>& arg)
: UnaryElementwiseArithmetic(arg)
{
Expand Down Expand Up @@ -81,3 +79,5 @@ bool op::Floor::evaluate(const HostTensorVector& outputs, const HostTensorVector
NGRAPH_OP_SCOPE(v0_Floor_evaluate);
return floorop::evaluate_floor(inputs[0], outputs[0], shape_size(get_output_shape(0)));
}

NGRAPH_RTTI_DEFINITION(op::v0::Floor, "Floor", 0);
pszmel marked this conversation as resolved.
Show resolved Hide resolved
1 change: 1 addition & 0 deletions ngraph/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@ set(SRC
visitors/op/elu.cpp
visitors/op/extractimagepatches.cpp
visitors/op/fake_quantize.cpp
visitors/op/floor.cpp
visitors/op/gather.cpp
visitors/op/grn.cpp
visitors/op/group_conv.cpp
Expand Down
2 changes: 1 addition & 1 deletion ngraph/test/type_prop/unary_ops.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,6 @@ REGISTER_TYPED_TEST_CASE_P(UnaryOperator,
dynamic_rank_input_shape_3D,
dynamic_rank_input_shape_full);

using Types = ::testing::Types<op::Acos, op::Asin, op::Abs, op::Sqrt, op::Sin, op::Exp>;
using Types = ::testing::Types<op::Acos, op::Asin, op::Abs, op::Sqrt, op::Sin, op::Exp, op::Floor>;

INSTANTIATE_TYPED_TEST_CASE_P(type_prop, UnaryOperator, Types);
26 changes: 26 additions & 0 deletions ngraph/test/visitors/op/floor.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
// Copyright (C) 2018-2021 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//

#include "gtest/gtest.h"

#include "ngraph/ngraph.hpp"
#include "ngraph/op/util/attr_types.hpp"
#include "ngraph/opsets/opset1.hpp"
#include "util/visitor.hpp"

using namespace std;
using namespace ngraph;
using ngraph::test::NodeBuilder;

TEST(attributes, floor_op)
{
NodeBuilder::get_ops().register_factory<opset1::Floor>();
auto A = make_shared<op::Parameter>(element::f32, Shape{5, 2});

auto floor = make_shared<opset1::Floor>(A);
NodeBuilder builder(floor);
auto g_floor = as_type_ptr<opset1::Floor>(builder.create());

EXPECT_EQ(g_floor->get_autob(), floor->get_autob());
jdanieck marked this conversation as resolved.
Show resolved Hide resolved
}