xref: /aosp_15_r20/external/pytorch/aten/src/ATen/native/cpu/spherical_bessel_j0.cpp (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1 #define TORCH_ASSERT_NO_OPERATORS
2 
3 #include <ATen/native/UnaryOps.h>
4 
5 #include <ATen/Dispatch.h>
6 #include <ATen/native/Math.h>
7 #include <ATen/native/TensorIterator.h>
8 #include <ATen/native/cpu/Loops.h>
9 
10 namespace at::native {
11 inline namespace CPU_CAPABILITY {
spherical_bessel_j0_kernel(TensorIteratorBase & iterator)12     static void spherical_bessel_j0_kernel(TensorIteratorBase& iterator) {
13         TORCH_INTERNAL_ASSERT(iterator.ntensors() == 2);
14 
15         AT_DISPATCH_FLOATING_TYPES(iterator.common_dtype(), "spherical_bessel_j0_cpu", [&]() {
16             cpu_kernel(iterator, [](scalar_t x) {
17                 return spherical_bessel_j0_forward(x);
18            });
19         });
20     } // spherical_bessel_j0_kernel(TensorIteratorBase& iterator)
21 } // namespace CPU_CAPABILITY
22 
23 REGISTER_DISPATCH(special_spherical_bessel_j0_stub, &CPU_CAPABILITY::spherical_bessel_j0_kernel);
24 } // namespace at::native
25