add core files
This commit is contained in:
73
Classes/cwt_rtwutil.cpp
Normal file
73
Classes/cwt_rtwutil.cpp
Normal file
@@ -0,0 +1,73 @@
|
||||
//
|
||||
// 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]
|
||||
//
|
||||
Reference in New Issue
Block a user