Files
Happy-Reconstruction/Classes/cwt_rtwutil.cpp
2020-05-05 23:30:52 +08:00

74 lines
1.3 KiB
C++

//
// File: cwt_rtwutil.cpp
//
// MATLAB Coder version : 4.3
// C/C++ source code generated on : 30-Mar-2020 11:59:32
//
// Include Files
#include "cwt_rtwutil.h"
#include "cwt.h"
#include "rt_nonfinite.h"
#include <cmath>
#include <math.h>
#include <string.h>
// Function Definitions
//
// Arguments : double u0
// double u1
// Return Type : double
//
double rt_powd_snf(double u0, double u1)
{
double y;
double d;
double d1;
if (rtIsNaN(u0) || rtIsNaN(u1)) {
y = rtNaN;
} else {
d = std::abs(u0);
d1 = std::abs(u1);
if (rtIsInf(u1)) {
if (d == 1.0) {
y = 1.0;
} else if (d > 1.0) {
if (u1 > 0.0) {
y = rtInf;
} else {
y = 0.0;
}
} else if (u1 > 0.0) {
y = 0.0;
} else {
y = rtInf;
}
} else if (d1 == 0.0) {
y = 1.0;
} else if (d1 == 1.0) {
if (u1 > 0.0) {
y = u0;
} else {
y = 1.0 / u0;
}
} else if (u1 == 2.0) {
y = u0 * u0;
} else if ((u1 == 0.5) && (u0 >= 0.0)) {
y = std::sqrt(u0);
} else if ((u0 < 0.0) && (u1 > std::floor(u1))) {
y = rtNaN;
} else {
y = pow(u0, u1);
}
}
return y;
}
//
// File trailer for cwt_rtwutil.cpp
//
// [EOF]
//