remove gitignore
This commit is contained in:
35
.venv/lib/python3.10/site-packages/scipy/special/xsf/zlog1.h
Normal file
35
.venv/lib/python3.10/site-packages/scipy/special/xsf/zlog1.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/* Translated from Cython into C++ by SciPy developers in 2023.
|
||||
*
|
||||
* Original author: Josh Wilson, 2016.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config.h"
|
||||
|
||||
namespace xsf {
|
||||
namespace detail {
|
||||
|
||||
XSF_HOST_DEVICE inline std::complex<double> zlog1(std::complex<double> z) {
|
||||
/* Compute log, paying special attention to accuracy around 1. We
|
||||
* implement this ourselves because some systems (most notably the
|
||||
* Travis CI machines) are weak in this regime. */
|
||||
std::complex<double> coeff = -1.0;
|
||||
std::complex<double> res = 0.0;
|
||||
|
||||
if (std::abs(z - 1.0) > 0.1) {
|
||||
return std::log(z);
|
||||
}
|
||||
|
||||
z -= 1.0;
|
||||
for (int n = 1; n < 17; n++) {
|
||||
coeff *= -z;
|
||||
res += coeff / static_cast<double>(n);
|
||||
if (std::abs(res / coeff) < std::numeric_limits<double>::epsilon()) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return res;
|
||||
}
|
||||
} // namespace detail
|
||||
} // namespace xsf
|
||||
Reference in New Issue
Block a user