📄 saa.cpp
字号:
//
// MATLAB Compiler: 2.2
// Date: Tue Jun 25 14:49:22 2002
// Arguments: "-B" "macro_default" "-O" "all" "-O" "fold_scalar_mxarrays:on"
// "-O" "fold_non_scalar_mxarrays:on" "-O" "optimize_integer_for_loops:on" "-O"
// "array_indexing:on" "-O" "optimize_conditionals:on" "-p" "-W" "main" "-L"
// "Cpp" "-t" "-T" "link:exe" "-h" "libmmfile.mlib" "fcpp"
//
#include "SAA.hpp"
#include "libmatlbm.hpp"
static mxChar _array1_[124] = { 'R', 'u', 'n', '-', 't', 'i', 'm', 'e', ' ',
'E', 'r', 'r', 'o', 'r', ':', ' ', 'F', 'i',
'l', 'e', ':', ' ', 'S', 'A', 'A', ' ', 'L',
'i', 'n', 'e', ':', ' ', '1', ' ', 'C', 'o',
'l', 'u', 'm', 'n', ':', ' ', '1', ' ', 'T',
'h', 'e', ' ', 'f', 'u', 'n', 'c', 't', 'i',
'o', 'n', ' ', '"', 'S', 'A', 'A', '"', ' ',
'w', 'a', 's', ' ', 'c', 'a', 'l', 'l', 'e',
'd', ' ', 'w', 'i', 't', 'h', ' ', 'm', 'o',
'r', 'e', ' ', 't', 'h', 'a', 'n', ' ', 't',
'h', 'e', ' ', 'd', 'e', 'c', 'l', 'a', 'r',
'e', 'd', ' ', 'n', 'u', 'm', 'b', 'e', 'r',
' ', 'o', 'f', ' ', 'o', 'u', 't', 'p', 'u',
't', 's', ' ', '(', '1', ')', '.' };
static mwArray _mxarray0_ = mclInitializeString(124, _array1_);
static mxChar _array3_[123] = { 'R', 'u', 'n', '-', 't', 'i', 'm', 'e', ' ',
'E', 'r', 'r', 'o', 'r', ':', ' ', 'F', 'i',
'l', 'e', ':', ' ', 'S', 'A', 'A', ' ', 'L',
'i', 'n', 'e', ':', ' ', '1', ' ', 'C', 'o',
'l', 'u', 'm', 'n', ':', ' ', '1', ' ', 'T',
'h', 'e', ' ', 'f', 'u', 'n', 'c', 't', 'i',
'o', 'n', ' ', '"', 'S', 'A', 'A', '"', ' ',
'w', 'a', 's', ' ', 'c', 'a', 'l', 'l', 'e',
'd', ' ', 'w', 'i', 't', 'h', ' ', 'm', 'o',
'r', 'e', ' ', 't', 'h', 'a', 'n', ' ', 't',
'h', 'e', ' ', 'd', 'e', 'c', 'l', 'a', 'r',
'e', 'd', ' ', 'n', 'u', 'm', 'b', 'e', 'r',
' ', 'o', 'f', ' ', 'i', 'n', 'p', 'u', 't',
's', ' ', '(', '1', ')', '.' };
static mwArray _mxarray2_ = mclInitializeString(123, _array3_);
static mwArray _mxarray4_ = mclInitializeDouble(0.0);
static mwArray _mxarray5_ = mclInitializeDouble(2.220446049250313e-16);
static mwArray _mxarray6_ = mclInitializeDouble(.6);
void InitializeModule_SAA() {
}
void TerminateModule_SAA() {
}
static mwArray MSAA(int nargout_, mwArray x);
_mexLocalFunctionTable _local_function_table_SAA
= { 0, (mexFunctionTableEntry *)NULL };
//
// The function "SAA" contains the normal interface for the "SAA" M-function
// from file "D:\mywork\SAA.m" (lines 1-4). This function processes any input
// arguments and passes them to the implementation version of the function,
// appearing above.
//
mwArray SAA(mwArray x) {
int nargout(1);
mwArray y(mclGetUninitializedArray());
y = MSAA(nargout, x);
return y;
}
//
// The function "mlxSAA" contains the feval interface for the "SAA" M-function
// from file "D:\mywork\SAA.m" (lines 1-4). The feval function calls the
// implementation version of SAA through this function. This function processes
// any input arguments and passes them to the implementation version of the
// function, appearing above.
//
void mlxSAA(int nlhs, mxArray * plhs[], int nrhs, mxArray * prhs[]) {
MW_BEGIN_MLX();
{
mwArray mprhs[1];
mwArray mplhs[1];
int i;
mclCppUninitializeArrays(1, mplhs);
if (nlhs > 1) {
error(_mxarray0_);
}
if (nrhs > 1) {
error(_mxarray2_);
}
for (i = 0; i < 1 && i < nrhs; ++i) {
mprhs[i] = mwArray(prhs[i], 0);
}
for (; i < 1; ++i) {
mprhs[i].MakeDIN();
}
mplhs[0] = MSAA(nlhs, mprhs[0]);
plhs[0] = mplhs[0].FreezeData();
}
MW_END_MLX();
}
//
// The function "MSAA" is the implementation version of the "SAA" M-function
// from file "D:\mywork\SAA.m" (lines 1-4). It contains the actual compiled
// code for that M-function. It is a static function and must only be called
// from one of the interface functions, appearing below.
//
//
// function y=SAA(x)
//
static mwArray MSAA(int nargout_, mwArray x) {
mwLocalFunctionTable save_local_function_table_(&_local_function_table_SAA);
mwArray y(mclGetUninitializedArray());
//
// x=x+(x==0)*eps;
//
x = mwVa(x, "x") + (mwVa(x, "x") == _mxarray4_) * _mxarray5_;
//
// y=sin(x.*exp(0.6*x))./x;
//
y
= rdivide(
mwVe(sin(times(mwVa(x, "x"), mwVe(exp(_mxarray6_ * mwVa(x, "x")))))),
mwVa(x, "x"));
mwValidateOutput(y, 1, nargout_, "y", "SAA");
return y;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -