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

IntelPython / dpnp / 13722058358

07 Mar 2025 01:48PM UTC coverage: 71.744% (-0.007%) from 71.751%
13722058358

Pull #2360

github

web-flow
Merge 2ce002d34 into acd33e46f
Pull Request #2360: Add w/a for oneMath to fix test oneMKL interfaces action

4698 of 9546 branches covered (49.21%)

Branch coverage included in aggregate %.

1 of 3 new or added lines in 1 file covered. (33.33%)

17580 of 21506 relevant lines covered (81.74%)

19868.96 hits per line

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

0.0
/dpnp/backend/kernels/elementwise_functions/fmod.hpp
1
//*****************************************************************************
2
// Copyright (c) 2024-2025, Intel Corporation
3
// All rights reserved.
4
//
5
// Redistribution and use in source and binary forms, with or without
6
// modification, are permitted provided that the following conditions are met:
7
// - Redistributions of source code must retain the above copyright notice,
8
//   this list of conditions and the following disclaimer.
9
// - Redistributions in binary form must reproduce the above copyright notice,
10
//   this list of conditions and the following disclaimer in the documentation
11
//   and/or other materials provided with the distribution.
12
//
13
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
14
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
17
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23
// THE POSSIBILITY OF SUCH DAMAGE.
24
//*****************************************************************************
25

26
#pragma once
27

28
#include <sycl/sycl.hpp>
29

30
namespace dpnp::kernels::fmod
31
{
32
template <typename argT1, typename argT2, typename resT>
33
struct FmodFunctor
34
{
35
    using supports_sg_loadstore = typename std::true_type;
36
    using supports_vec = std::negation<
37
        std::conjunction<std::is_integral<argT1>, std::is_integral<argT2>>>;
38

39
    resT operator()(const argT1 &in1, const argT2 &in2) const
40
    {
×
41
        if constexpr (std::is_integral_v<argT1> && std::is_integral_v<argT2>) {
×
42
            if (in2 == argT2(0)) {
×
43
                return resT(0);
×
44
            }
×
45
            return in1 % in2;
×
46
        }
47
        else {
×
48
            return sycl::fmod(in1, in2);
×
49
        }
×
50
    }
×
51

52
    template <int vec_sz>
53
    sycl::vec<resT, vec_sz>
54
        operator()(const sycl::vec<argT1, vec_sz> &in1,
55
                   const sycl::vec<argT2, vec_sz> &in2) const
56
    {
×
57
        return sycl::fmod(in1, in2);
×
58
    }
×
59
};
60
} // namespace dpnp::kernels::fmod
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

© 2025 Coveralls, Inc