Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
2ee12c2
include/oneapi/dpl/cmath - declare regular modified cylindrical Besse…
SergeyKopienko Feb 10, 2025
622a8be
include/oneapi/dpl/cmath - declare cylindrical Bessel functions of th…
SergeyKopienko Feb 10, 2025
de6314e
include/oneapi/dpl/cmath - declare irregular modified cylindrical Bes…
SergeyKopienko Feb 10, 2025
fdbcc36
test/xpu_api/numerics/special/bessel/bessel_i.pass.cpp
SergeyKopienko Feb 10, 2025
48e8638
test/xpu_api/numerics/special/bessel/bessel_if.pass.cpp
SergeyKopienko Feb 11, 2025
50d25c7
test/xpu_api/numerics/special/bessel/bessel_il.pass.cpp
SergeyKopienko Feb 11, 2025
15708a2
test/xpu_api/numerics/special/bessel/bessel_j.pass.cpp
SergeyKopienko Feb 11, 2025
e225340
test/xpu_api/numerics/special/bessel/bessel_jf.pass.cpp
SergeyKopienko Feb 11, 2025
fb3cede
test/xpu_api/numerics/special/bessel/bessel_jl.pass.cpp
SergeyKopienko Feb 11, 2025
4b20462
test/xpu_api/numerics/special/bessel/bessel_k.pass.cpp
SergeyKopienko Feb 11, 2025
0f3bd49
test/xpu_api/numerics/special/bessel/bessel_kf.pass.cpp
SergeyKopienko Feb 11, 2025
6d71ac2
test/xpu_api/numerics/special/bessel/bessel_kl.pass.cpp
SergeyKopienko Feb 11, 2025
2212df0
Remove checks for "long double" type as not suppoted in Kernel code
SergeyKopienko Feb 11, 2025
21ba7f0
Introduce common test/support/test_bessel.h
SergeyKopienko Feb 24, 2025
74154a4
test/support/test_bessel.h - suppress error: SYCL kernel cannot call …
SergeyKopienko Feb 24, 2025
471590b
Rename files to compile and check parts
SergeyKopienko Feb 24, 2025
265115b
Separate bessel_if_compile.pass.cpp for two tests: bessel_i_compile.p…
SergeyKopienko Feb 24, 2025
1bf4ee3
Add specfun_testcase.h
SergeyKopienko Feb 24, 2025
98860dd
Add tests to check the calculation results of Bessel's functions
SergeyKopienko Feb 24, 2025
6916dfc
test/xpu_api/numerics/special/bessel/bessel_if_compile.pass.cpp - fix…
SergeyKopienko Feb 24, 2025
69f5c97
Add check nan tests
SergeyKopienko Feb 24, 2025
ca90625
Add check nan tests - split to float and double parts
SergeyKopienko Feb 24, 2025
bd126ed
Remove MS STL Bessel's function implementations from tests on device …
SergeyKopienko Feb 24, 2025
c9914fa
Fix potential warnings about unused variables or unused return values
SergeyKopienko Feb 24, 2025
a5491b3
test/xpu_api/numerics/special/bessel/bessel_i_compile.pass.cpp - remo…
SergeyKopienko Feb 24, 2025
9ea1513
test/support/test_bessel.h - define __STDCPP_WANT_MATH_SPEC_FUNCS__ to 1
SergeyKopienko May 2, 2025
60a9f78
test/support/test_bessel.h - define __STDCPP_WANT_MATH_SPEC_FUNCS__ to 1
SergeyKopienko May 2, 2025
884e1ff
Merge commit 'd124cfaf310accbc81c8f6e72ac8937c397b49ce' into dev/skop…
SergeyKopienko Jul 14, 2025
3be8f30
Merge commit '4686badf39a488e37f43cc5a235845d858984d5d' into dev/skop…
SergeyKopienko Jul 14, 2025
c02bd60
Merge commit 'af567b5a78cdfc6fede70ed72cdc04f79f252080' into dev/skop…
SergeyKopienko Jul 14, 2025
fbc3607
Merge commit '09bb4d7137c6cc63f50d25605c5baf04142ba666' into dev/skop…
SergeyKopienko Jul 14, 2025
bc5625c
Merge commit '1968a8bd702de7b9da9ead352b39a24af4ddb629' into dev/skop…
SergeyKopienko Jul 14, 2025
2a17ab7
Merge branch 'main' into dev/skopienko/investigate_bessel_functions_s…
SergeyKopienko Jul 14, 2025
a5fad38
Merge branch 'main' into dev/skopienko/investigate_bessel_functions_s…
SergeyKopienko Sep 23, 2025
76d5bc7
Merge branch 'main' into dev/skopienko/investigate_bessel_functions_s…
SergeyKopienko Sep 24, 2025
cb4a0ee
Merge branch 'main' into dev/skopienko/investigate_bessel_functions_s…
SergeyKopienko Oct 1, 2025
270095c
Merge branch 'main' into dev/skopienko/investigate_bessel_functions_s…
SergeyKopienko Oct 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions include/oneapi/dpl/cmath
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,15 @@ using ::std::copysign;
using ::std::copysignf;
using ::std::cos;
using ::std::cosh;
using ::std::cyl_bessel_i; // https://learn.microsoft.com/en-us/cpp/standard-library/cmath?view=msvc-170#regular-modified-cylindrical-bessel-functions
using ::std::cyl_bessel_if; // https://learn.microsoft.com/en-us/cpp/standard-library/cmath?view=msvc-170#regular-modified-cylindrical-bessel-functions
using ::std::cyl_bessel_il; // https://learn.microsoft.com/en-us/cpp/standard-library/cmath?view=msvc-170#regular-modified-cylindrical-bessel-functions
using ::std::cyl_bessel_j; // https://learn.microsoft.com/en-us/cpp/standard-library/cmath?view=msvc-170#cylindrical-bessel-functions-of-the-first-kind
using ::std::cyl_bessel_jf; // https://learn.microsoft.com/en-us/cpp/standard-library/cmath?view=msvc-170#cylindrical-bessel-functions-of-the-first-kind
using ::std::cyl_bessel_jl; // https://learn.microsoft.com/en-us/cpp/standard-library/cmath?view=msvc-170#cylindrical-bessel-functions-of-the-first-kind
using ::std::cyl_bessel_k; // https://learn.microsoft.com/en-us/cpp/standard-library/cmath?view=msvc-170#irregular-modified-cylindrical-bessel-functions
using ::std::cyl_bessel_kf; // https://learn.microsoft.com/en-us/cpp/standard-library/cmath?view=msvc-170#irregular-modified-cylindrical-bessel-functions
using ::std::cyl_bessel_kl; // https://learn.microsoft.com/en-us/cpp/standard-library/cmath?view=msvc-170#irregular-modified-cylindrical-bessel-functions
using ::std::erf;
using ::std::erfc;
using ::std::exp;
Expand Down
68 changes: 68 additions & 0 deletions test/support/specfun_testcase.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
// Copyright (C) 2015-2022 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.

// specfun_testcase.h.h

//
// These are little PODs for special function inputs and
// expexted results for the testsuite.
//

#ifndef _TEST_SPECFUN_TESTCASE_H
#define _TEST_SPECFUN_TESTCASE_H

// Generic cylindrical Bessel functions.
template <typename _Tp>
struct testcase_cyl_bessel
{
_Tp f0;
_Tp nu;
_Tp x;
_Tp f;
};

// Regular modified cylindrical Bessel functions.
template <typename _Tp>
struct testcase_cyl_bessel_i
{
_Tp f0;
_Tp nu;
_Tp x;
_Tp f;
};

// Cylindrical Bessel functions (of the first kind).
template <typename _Tp>
struct testcase_cyl_bessel_j
{
_Tp f0;
_Tp nu;
_Tp x;
_Tp f;
};

// Irregular modified cylindrical Bessel functions.
template <typename _Tp>
struct testcase_cyl_bessel_k
{
_Tp f0;
_Tp nu;
_Tp x;
_Tp f;
};

#endif // _TEST_SPECFUN_TESTCASE_H
48 changes: 48 additions & 0 deletions test/support/test_bessel.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
// -*- C++ -*-
//===----------------------------------------------------------------------===//
//
// Copyright (C) Intel Corporation
//
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
// This file incorporates work covered by the following copyright and permission
// notice:
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
//
//===----------------------------------------------------------------------===//

#ifndef _TEST_BESSEL_H
#define _TEST_BESSEL_H

#define __STDCPP_WANT_MATH_SPEC_FUNCS__ 1

#ifdef __SYCL_DEVICE_ONLY__

// Required to define these before all includes
namespace std
{
SYCL_EXTERNAL void __throw_domain_error(const char*)
{
}
};

// Required to define these before all includes
namespace std
{
SYCL_EXTERNAL void __throw_runtime_error(const char*)
{
}
};

#endif // __SYCL_DEVICE_ONLY__

#include "test_complex.h"
#include "specfun_testcase.h"

#include <limits>
#include <cmath>
#include <stdexcept>

#endif // _TEST_BESSEL_H
6 changes: 6 additions & 0 deletions test/support/test_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,12 @@
#define _PSTL_TEST_COMPLEX_DIV_COMPLEX_BROKEN _PSTL_TEST_COMPLEX_OP_BROKEN
#define _PSTL_TEST_COMPLEX_DIV_COMPLEX_BROKEN_IN_INTEL_LLVM_COMPILER _PSTL_TEST_COMPLEX_OP_BROKEN_IN_INTEL_LLVM_COMPILER

#if __SYCL_DEVICE_ONLY__ && _MSVC_STL_VERSION && _MSVC_STL_VERSION > 0
# define _PSTL_TEST_BESSEL_STD_LIB_IMPL_COMPLIANT 0
#else
# define _PSTL_TEST_BESSEL_STD_LIB_IMPL_COMPLIANT 1
#endif

#define _PSTL_ICC_TEST_UNDERLYING_TYPE_BROKEN (_GLIBCXX_RELEASE && _GLIBCXX_RELEASE < 9)

// Known limitation:
Expand Down
Loading
Loading