📄 calcperf.c
字号:
* n = N{i,ts};
* a = 1 ./ (1 + exp(-n));
* k = find(~finite(a));
* a(k) = sign(n(k));
* Ac{i,ts2} = a;
* otherwise
* Ac{i,ts2} = feval(transferFcn{i},N{i,ts});
* end
* end
* end
*/
for (; ; ) {
mclForLoopIterator viter__;
for (mclForStart(
&viter__,
mlfIndexRef(mclVa(net, "net"), ".hint.simLayerOrder"),
NULL,
NULL);
mclForNext(&viter__, &i);
) {
mlfAssign(
&ts2,
mclPlus(
mclVv(numLayerDelays, "numLayerDelays"),
mlfScalar(v_)));
mlfAssign(
&inputInds,
mlfIndexRef(
mclVv(inputConnectFrom, "inputConnectFrom"),
"{?}",
mclVv(i, "i")));
{
mclForLoopIterator viter__0;
for (mclForStart(
&viter__0,
mclVv(inputInds, "inputInds"),
NULL,
NULL);
mclForNext(&viter__0, &j);
) {
mxArray * v_0
= mclInitialize(
mlfIndexRef(
mclVv(inputWeightFcn, "inputWeightFcn"),
"{?,?}",
mclVv(i, "i"),
mclVv(j, "j")));
if (mclSwitchCompare(v_0, _mxarray2_)) {
mlfIndexAssign(
IWZ,
"{?,?,?}",
mclVv(i, "i"),
mclVv(j, "j"),
mlfScalar(v_),
mclFeval(
mclValueVarargout(),
mlxMtimes,
mlfIndexRef(
mclVv(IW, "IW"),
"{?,?}",
mclVv(i, "i"),
mclVv(j, "j")),
mlfIndexRef(
mclVa(PD, "PD"),
"{?,?,?}",
mclVv(i, "i"),
mclVv(j, "j"),
mlfScalar(v_)),
NULL));
} else {
mlfIndexAssign(
IWZ,
"{?,?,?}",
mclVv(i, "i"),
mclVv(j, "j"),
mlfScalar(v_),
mlfFeval(
mclValueVarargout(),
mlfIndexRef(
mclVv(inputWeightFcn, "inputWeightFcn"),
"{?,?}",
mclVv(i, "i"),
mclVv(j, "j")),
mlfIndexRef(
mclVv(IW, "IW"),
"{?,?}",
mclVv(i, "i"),
mclVv(j, "j")),
mlfIndexRef(
mclVa(PD, "PD"),
"{?,?,?}",
mclVv(i, "i"),
mclVv(j, "j"),
mlfScalar(v_)),
NULL));
}
mxDestroyArray(v_0);
}
mclDestroyForLoopIterator(viter__0);
}
mlfAssign(
&layerInds,
mlfIndexRef(
mclVv(layerConnectFrom, "layerConnectFrom"),
"{?}",
mclVv(i, "i")));
{
mclForLoopIterator viter__1;
for (mclForStart(
&viter__1,
mclVv(layerInds, "layerInds"),
NULL,
NULL);
mclForNext(&viter__1, &j);
) {
mlfAssign(
&thisLayerDelays,
mlfIndexRef(
mclVv(layerDelays, "layerDelays"),
"{?,?}",
mclVv(i, "i"),
mclVv(j, "j")));
{
mxArray * a_
= mclInitialize(
mclBoolToArray(
mclLengthInt(
mclVv(
thisLayerDelays,
"thisLayerDelays"))
== 1));
if (mlfTobool(a_)
&& mlfTobool(
mclAnd(
a_,
mclEq(
mclVv(
thisLayerDelays,
"thisLayerDelays"),
_mxarray4_)))) {
mxDestroyArray(a_);
mlfAssign(
&Ad,
mlfIndexRef(
mclVv(*Ac, "Ac"),
"{?,?}",
mclVv(j, "j"),
mclVv(ts2, "ts2")));
} else {
mxDestroyArray(a_);
mlfAssign(
&Ad,
mlfCell2mat(
mlfCtranspose(
mclArrayRef2(
mclVv(*Ac, "Ac"),
mclVv(j, "j"),
mclFeval(
mclValueVarargout(),
mlxMinus,
mclVv(ts2, "ts2"),
mlfIndexRef(
mclVv(
layerDelays, "layerDelays"),
"{?,?}",
mclVv(i, "i"),
mclVv(j, "j")),
NULL)))));
}
}
{
mxArray * v_1
= mclInitialize(
mlfIndexRef(
mclVv(
layerWeightFcn, "layerWeightFcn"),
"{?,?}",
mclVv(i, "i"),
mclVv(j, "j")));
if (mclSwitchCompare(v_1, _mxarray2_)) {
mlfIndexAssign(
LWZ,
"{?,?,?}",
mclVv(i, "i"),
mclVv(j, "j"),
mlfScalar(v_),
mclFeval(
mclValueVarargout(),
mlxMtimes,
mlfIndexRef(
mclVv(LW, "LW"),
"{?,?}",
mclVv(i, "i"),
mclVv(j, "j")),
mclVv(Ad, "Ad"),
NULL));
} else {
mlfIndexAssign(
LWZ,
"{?,?,?}",
mclVv(i, "i"),
mclVv(j, "j"),
mlfScalar(v_),
mlfFeval(
mclValueVarargout(),
mlfIndexRef(
mclVv(
layerWeightFcn, "layerWeightFcn"),
"{?,?}",
mclVv(i, "i"),
mclVv(j, "j")),
mlfIndexRef(
mclVv(LW, "LW"),
"{?,?}",
mclVv(i, "i"),
mclVv(j, "j")),
mclVv(Ad, "Ad"),
NULL));
}
mxDestroyArray(v_1);
}
}
mclDestroyForLoopIterator(viter__1);
}
if (mlfTobool(
mlfIndexRef(
mclVa(net, "net"),
".biasConnect(?)",
mclVv(i, "i")))) {
mlfAssign(
&Z,
mlfHorzcat(
mlfIndexRef(
mclVv(*IWZ, "IWZ"),
"(?,?,?)",
mclVv(i, "i"),
mclVv(inputInds, "inputInds"),
mlfScalar(v_)),
mlfIndexRef(
mclVv(*LWZ, "LWZ"),
"(?,?,?)",
mclVv(i, "i"),
mclVv(layerInds, "layerInds"),
mlfScalar(v_)),
mclArrayRef1(mclVv(*BZ, "BZ"), mclVv(i, "i")),
NULL));
} else {
mlfAssign(
&Z,
mlfHorzcat(
mlfIndexRef(
mclVv(*IWZ, "IWZ"),
"(?,?,?)",
mclVv(i, "i"),
mclVv(inputInds, "inputInds"),
mlfScalar(v_)),
mlfIndexRef(
mclVv(*LWZ, "LWZ"),
"(?,?,?)",
mclVv(i, "i"),
mclVv(layerInds, "layerInds"),
mlfScalar(v_)),
NULL));
}
{
mxArray * v_2
= mclInitialize(
mlfIndexRef(
mclVv(netInputFcn, "netInputFcn"),
"{?}",
mclVv(i, "i")));
if (mclSwitchCompare(v_2, _mxarray5_)) {
mlfIndexAssign(
N,
"{?,?}",
mclVv(i, "i"),
mlfScalar(v_),
mlfIndexRef(mclVv(Z, "Z"), "{?}", _mxarray0_));
{
int v_3 = mclForIntStart(2);
int e_0 = mclLengthInt(mclVv(Z, "Z"));
if (v_3 > e_0) {
mlfAssign(&k, _mxarray1_);
} else {
for (; ; ) {
mlfIndexAssign(
N,
"{?,?}",
mclVv(i, "i"),
mlfScalar(v_),
mclFeval(
mclValueVarargout(),
mlxPlus,
mlfIndexRef(
mclVv(*N, "N"),
"{?,?}",
mclVv(i, "i"),
mlfScalar(v_)),
mlfIndexRef(
mclVv(Z, "Z"),
"{?}",
mlfScalar(v_3)),
NULL));
if (v_3 == e_0) {
break;
}
++v_3;
}
mlfAssign(&k, mlfScalar(v_3));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -