26#if defined (HAVE_CONFIG_H)
55 return (
isna (std::real (
x)) ||
isna (std::imag (
x)));
67 return (
isna (std::real (
x)) ||
isna (std::imag (
x)));
89 if (std::imag (
x) == 0.0 && std::real (
x) > 1.0)
100 if (std::imag (
x) == 0.0f && std::real (
x) > 1.0f)
101 return std::conj (y);
111 if (std::imag (
x) == 0.0 && std::real (
x) > 1.0)
112 return std::conj (y);
122 if (std::imag (
x) == 0.0f && std::real (
x) > 1.0f)
123 return std::conj (y);
143 return std::log (
x) / M_LN2;
149 return std::log (
x) /
static_cast<float> (M_LN2);
167 double ax = std::abs (
x);
168 double lax =
log2 (ax, exp);
169 return (ax != lax) ? (
x / ax) * lax :
x;
175 float ax = std::abs (
x);
176 float lax =
log2 (ax, exp);
177 return (ax != lax) ? (
x / ax) * lax :
x;
190 static constexpr double out_of_range_top
191 =
static_cast<double> (std::numeric_limits<octave_idx_type>::max ()) + 1.0;
193 if (
x >= out_of_range_top)
194 return std::numeric_limits<octave_idx_type>::max ();
195 else if (
x < std::numeric_limits<octave_idx_type>::min ())
196 return std::numeric_limits<octave_idx_type>::min ();
204 static constexpr float out_of_range_top
205 =
static_cast<float> (std::numeric_limits<octave_idx_type>::max ()) + 1.0;
207 if (
x >= out_of_range_top)
208 return std::numeric_limits<octave_idx_type>::max ();
209 else if (
x < std::numeric_limits<octave_idx_type>::min ())
210 return std::numeric_limits<octave_idx_type>::min ();
218 if (
x > std::numeric_limits<int>::max ())
219 return std::numeric_limits<int>::max ();
220 else if (
x < std::numeric_limits<int>::min ())
221 return std::numeric_limits<int>::min ();
223 return static_cast<int> ((
x > 0.0) ? (
x + 0.5) : (
x - 0.5));
229 static constexpr float out_of_range_top
230 =
static_cast<float> (std::numeric_limits<int>::max ()) + 1.0;
232 if (
x >= out_of_range_top)
233 return std::numeric_limits<int>::max ();
234 else if (
x < std::numeric_limits<int>::min ())
235 return std::numeric_limits<int>::min ();
237 return static_cast<int> ((
x > 0.0f) ? (
x + 0.5f) : (
x - 0.5f));
300 return x < 0.0f ?
FloatComplex (std::log (-
x),
static_cast<float> (M_PI))
307 constexpr double PI_LN2 = 4.53236014182719380962;
314 constexpr float PI_LN2 = 4.53236014182719380962f;
322 constexpr double PI_LN10 = 1.36437635384184134748;
329 constexpr float PI_LN10 = 1.36437635384184134748f;
347OCTAVE_END_NAMESPACE(math)
348OCTAVE_END_NAMESPACE(octave)
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
bool is_NaN_or_NA(const Complex &x)
Complex log2(const Complex &x)
Complex rc_acosh(double x)
Complex rc_atanh(double x)
Complex asin(const Complex &x)
octave_idx_type nint_big(double x)
Complex rc_asin(double x)
bool negative_sign(double x)
Complex rc_acos(double x)
Complex rc_sqrt(double x)
Complex rc_log10(double x)
Complex acos(const Complex &x)
Complex rc_log2(double x)
double frexp(double x, int *expptr)
F77_RET_T const F77_DBLE * x
double octave_frexp_wrapper(double x, int *expptr)
float octave_frexpf_wrapper(float x, int *expptr)
std::complex< double > Complex
std::complex< float > FloatComplex