#include <string>
#include <iostream>
#include <cstdlib>
#include "TMath.h"
#include "TString.h"
#include "TMVA/MethodCFMlpANN_Utils.h"
#include "TMVA/Timer.h"
using std::cout;
using std::endl;
ClassImp(TMVA::MethodCFMlpANN_Utils)
Int_t TMVA::MethodCFMlpANN_Utils::fg_100 = 100;
Int_t TMVA::MethodCFMlpANN_Utils::fg_0 = 0;
Int_t TMVA::MethodCFMlpANN_Utils::fg_max_nVar_ = max_nVar_;
Int_t TMVA::MethodCFMlpANN_Utils::fg_max_nNodes_ = max_nNodes_;
Int_t TMVA::MethodCFMlpANN_Utils::fg_999 = 999;
const char* TMVA::MethodCFMlpANN_Utils::fg_MethodName = "--- CFMlpANN ";
TMVA::MethodCFMlpANN_Utils::MethodCFMlpANN_Utils()
{
}
TMVA::MethodCFMlpANN_Utils::~MethodCFMlpANN_Utils()
{
}
void TMVA::MethodCFMlpANN_Utils::Train_nn( Double_t *tin2, Double_t *tout2, Int_t *ntrain,
Int_t *ntest, Int_t *nvar2, Int_t *nlayer,
Int_t *nodes, Int_t *ncycle )
{
if (*ntrain + *ntest > max_Events_) {
printf( "*** CFMlpANN_f2c: Warning in Train_nn: number of training + testing" \
" events exceeds hardcoded maximum - reset to maximum allowed number");
*ntrain = *ntrain*(max_Events_/(*ntrain + *ntest));
*ntest = *ntest *(max_Events_/(*ntrain + *ntest));
}
if (*nvar2 > max_nVar_) {
printf( "*** CFMlpANN_f2c: ERROR in Train_nn: number of variables" \
" exceeds hardcoded maximum ==> abort");
std::exit(1);
}
if (*nlayer > max_nLayers_) {
printf( "*** CFMlpANN_f2c: Warning in Train_nn: number of layers" \
" exceeds hardcoded maximum - reset to maximum allowed number");
*nlayer = max_nLayers_;
}
if (*nodes > max_nNodes_) {
printf( "*** CFMlpANN_f2c: Warning in Train_nn: number of nodes" \
" exceeds hardcoded maximum - reset to maximum allowed number");
*nodes = max_nNodes_;
}
fVarn2_1.Create( *ntrain + *ntest, *nvar2 );
fVarn3_1.Create( *ntrain + *ntest, *nvar2 );
Int_t imax;
char det[20];
Entree_new(nvar2, det, ntrain, ntest, nlayer, nodes, ncycle, (Int_t)20);
if (fNeur_1.neuron[fParam_1.layerm - 1] == 1) {
imax = 2;
fParam_1.lclass = 2;
}
else {
imax = fNeur_1.neuron[fParam_1.layerm - 1] << 1;
fParam_1.lclass = fNeur_1.neuron[fParam_1.layerm - 1];
}
fParam_1.nvar = fNeur_1.neuron[0];
TestNN();
Innit(det, tout2, tin2, (Int_t)20);
fVarn2_1.Delete();
fVarn3_1.Delete();
}
void TMVA::MethodCFMlpANN_Utils::Entree_new( Int_t *, char *, Int_t *ntrain,
Int_t *ntest, Int_t *numlayer, Int_t *nodes,
Int_t *numcycle, Int_t )
{
Int_t i__1;
Int_t rewrite, i__, j, ncoef;
Int_t ntemp, num, retrain;
fCost_1.ancout = 1e30;
retrain = 0;
rewrite = 1000;
for (i__ = 1; i__ <= max_nNodes_; ++i__) {
fDel_1.coef[i__ - 1] = (Float_t)0.;
}
for (i__ = 1; i__ <= max_nLayers_; ++i__) {
fDel_1.temp[i__ - 1] = (Float_t)0.;
}
fParam_1.layerm = *numlayer;
if (fParam_1.layerm > max_nLayers_) {
printf("Error: number of layers exceeds maximum: %i, %i ==> abort",
fParam_1.layerm, max_nLayers_ );
Arret("modification of mlpl3_param_lim.inc is needed ");
}
fParam_1.nevl = *ntrain;
fParam_1.nevt = *ntest;
fParam_1.nblearn = *numcycle;
fVarn_1.iclass = 2;
fParam_1.nunilec = 10;
fParam_1.epsmin = 1e-10;
fParam_1.epsmax = 1e-4;
fParam_1.eta = .5;
fCost_1.tolcou = 1e-6;
fCost_1.ieps = 2;
fParam_1.nunisor = 30;
fParam_1.nunishort = 48;
fParam_1.nunap = 40;
printf("%s: Total number of events for training: %i\n", fg_MethodName, fParam_1.nevl);
printf("%s: Total number of training cycles : %i\n", fg_MethodName, fParam_1.nblearn);
if (fParam_1.nevl > max_Events_) {
printf("Error: number of learning events exceeds maximum: %i, %i ==> abort",
fParam_1.nevl, max_Events_ );
Arret("modification of mlpl3_param_lim.inc is needed ");
}
if (fParam_1.nevt > max_Events_) {
printf("Error: number of testing events exceeds maximum: %i, %i ==> abort",
fParam_1.nevt, max_Events_ );
Arret("modification of mlpl3_param_lim.inc is needed ");
}
i__1 = fParam_1.layerm;
for (j = 1; j <= i__1; ++j) {
num = nodes[j-1];
if (num < 2) {
num = 2;
}
if (j == fParam_1.layerm && num != 2) {
num = 2;
}
fNeur_1.neuron[j - 1] = num;
}
i__1 = fParam_1.layerm;
for (j = 1; j <= i__1; ++j) {
printf("%s: Number of layers for neuron(%2i): %i\n",fg_MethodName, j, fNeur_1.neuron[j - 1]);
}
if (fNeur_1.neuron[fParam_1.layerm - 1] != 2) {
printf("Error: wrong number of classes at ouput layer: %i != 2 ==> abort\n",
fNeur_1.neuron[fParam_1.layerm - 1]);
Arret("stop");
}
i__1 = fNeur_1.neuron[fParam_1.layerm - 1];
for (j = 1; j <= i__1; ++j) {
fDel_1.coef[j - 1] = 1.;
}
i__1 = fParam_1.layerm;
for (j = 1; j <= i__1; ++j) {
fDel_1.temp[j - 1] = 1.;
}
fParam_1.ichoi = retrain;
fParam_1.ndivis = rewrite;
fDel_1.idde = 1;
if (! (fParam_1.ichoi == 0 || fParam_1.ichoi == 1)) {
printf( "Big troubles !!! \n" );
Arret("new training or continued one !");
}
if (fParam_1.ichoi == 0) {
printf("%s: New training will be performed\n", fg_MethodName);
}
else {
printf("%s: New training will be continued from a weight file\n", fg_MethodName);
}
ncoef = 0;
ntemp = 0;
for (i__ = 1; i__ <= max_nNodes_; ++i__) {
if (fDel_1.coef[i__ - 1] != (Float_t)0.) {
++ncoef;
}
}
for (i__ = 1; i__ <= max_nLayers_; ++i__) {
if (fDel_1.temp[i__ - 1] != (Float_t)0.) {
++ntemp;
}
}
if (ncoef != fNeur_1.neuron[fParam_1.layerm - 1]) {
Arret(" entree error code 1 : need to reported");
}
if (ntemp != fParam_1.layerm) {
Arret("entree error code 2 : need to reported");
}
}
#define w_ref(a_1,a_2,a_3) fNeur_1.w[((a_3)*max_nNodes_ + (a_2))*max_nLayers_ + a_1 - 187]
#define ww_ref(a_1,a_2) fNeur_1.ww[(a_2)*max_nLayers_ + a_1 - 7]
void TMVA::MethodCFMlpANN_Utils::Wini()
{
Int_t i__1, i__2, i__3;
Int_t i__, j;
Int_t layer;
i__1 = fParam_1.layerm;
for (layer = 2; layer <= i__1; ++layer) {
i__2 = fNeur_1.neuron[layer - 2];
for (i__ = 1; i__ <= i__2; ++i__) {
i__3 = fNeur_1.neuron[layer - 1];
for (j = 1; j <= i__3; ++j) {
w_ref(layer, j, i__) = (Sen3a() * 2. - 1.) * .2;
ww_ref(layer, j) = (Sen3a() * 2. - 1.) * .2;
}
}
}
}
#undef ww_ref
#undef w_ref
#define xeev_ref(a_1,a_2) fVarn2_1(a_1,a_2)
#define w_ref(a_1,a_2,a_3) fNeur_1.w[((a_3)*max_nNodes_ + (a_2))*max_nLayers_ + a_1 - 187]
#define x_ref(a_1,a_2) fNeur_1.x[(a_2)*max_nLayers_ + a_1 - 7]
#define y_ref(a_1,a_2) fNeur_1.y[(a_2)*max_nLayers_ + a_1 - 7]
#define ww_ref(a_1,a_2) fNeur_1.ww[(a_2)*max_nLayers_ + a_1 - 7]
void TMVA::MethodCFMlpANN_Utils::En_avant(Int_t *ievent)
{
Int_t i__1, i__2, i__3;
Double_t f;
Int_t i__, j;
Int_t layer;
i__1 = fNeur_1.neuron[0];
for (i__ = 1; i__ <= i__1; ++i__) {
y_ref(1, i__) = xeev_ref(*ievent, i__);
}
i__1 = fParam_1.layerm - 1;
for (layer = 1; layer <= i__1; ++layer) {
i__2 = fNeur_1.neuron[layer];
for (j = 1; j <= i__2; ++j) {
x_ref(layer + 1, j) = 0.;
i__3 = fNeur_1.neuron[layer - 1];
for (i__ = 1; i__ <= i__3; ++i__) {
x_ref(layer + 1, j) = ( x_ref(layer + 1, j) + y_ref(layer, i__)
* w_ref(layer + 1, j, i__) );
}
x_ref(layer + 1, j) = x_ref(layer + 1, j) + ww_ref(layer + 1, j);
i__3 = layer + 1;
Foncf(&i__3, &x_ref(layer + 1, j), &f);
y_ref(layer + 1, j) = f;
}
}
}
#undef ww_ref
#undef y_ref
#undef x_ref
#undef w_ref
#undef xeev_ref
#define xeev_ref(a_1,a_2) fVarn2_1(a_1,a_2)
void TMVA::MethodCFMlpANN_Utils::Leclearn( Int_t *ktest, Double_t *tout2, Double_t *tin2 )
{
Int_t i__1, i__2;
Int_t i__, j, k, l;
Int_t nocla[max_nNodes_], ikend;
Double_t xpg[max_nVar_];
*ktest = 0;
i__1 = fParam_1.lclass;
for (k = 1; k <= i__1; ++k) {
nocla[k - 1] = 0;
}
i__1 = fParam_1.nvar;
for (i__ = 1; i__ <= i__1; ++i__) {
fVarn_1.xmin[i__ - 1] = 1e30;
fVarn_1.xmax[i__ - 1] = -fVarn_1.xmin[i__ - 1];
}
i__1 = fParam_1.nevl;
for (i__ = 1; i__ <= i__1; ++i__) {
DataInterface(tout2, tin2, &fg_100, &fg_0, &fParam_1.nevl, &fParam_1.nvar,
xpg, &fVarn_1.nclass[i__ - 1], &ikend);
if (ikend == -1) {
break;
}
CollectVar(&fParam_1.nvar, &fVarn_1.nclass[i__ - 1], xpg);
i__2 = fParam_1.nvar;
for (j = 1; j <= i__2; ++j) {
xeev_ref(i__, j) = xpg[j - 1];
}
if (fVarn_1.iclass == 1) {
i__2 = fParam_1.lclass;
for (k = 1; k <= i__2; ++k) {
if (fVarn_1.nclass[i__ - 1] == k) {
++nocla[k - 1];
}
}
}
i__2 = fParam_1.nvar;
for (k = 1; k <= i__2; ++k) {
if (xeev_ref(i__, k) < fVarn_1.xmin[k - 1]) {
fVarn_1.xmin[k - 1] = xeev_ref(i__, k);
}
if (xeev_ref(i__, k) > fVarn_1.xmax[k - 1]) {
fVarn_1.xmax[k - 1] = xeev_ref(i__, k);
}
}
}
if (fVarn_1.iclass == 1) {
i__2 = fParam_1.lclass;
for (k = 1; k <= i__2; ++k) {
i__1 = fParam_1.lclass;
for (l = 1; l <= i__1; ++l) {
if (nocla[k - 1] != nocla[l - 1]) {
*ktest = 1;
}
}
}
}
i__1 = fParam_1.nevl;
for (i__ = 1; i__ <= i__1; ++i__) {
i__2 = fParam_1.nvar;
for (l = 1; l <= i__2; ++l) {
if (fVarn_1.xmax[l - 1] == (Float_t)0. && fVarn_1.xmin[l - 1] == (
Float_t)0.) {
xeev_ref(i__, l) = (Float_t)0.;
}
else {
xeev_ref(i__, l) = xeev_ref(i__, l) - (fVarn_1.xmax[l - 1] +
fVarn_1.xmin[l - 1]) / 2.;
xeev_ref(i__, l) = xeev_ref(i__, l) / ((fVarn_1.xmax[l - 1] -
fVarn_1.xmin[l - 1]) / 2.);
}
}
}
}
#undef xeev_ref
#define delw_ref(a_1,a_2,a_3) fDel_1.delw[((a_3)*max_nNodes_ + (a_2))*max_nLayers_ + a_1 - 187]
#define w_ref(a_1,a_2,a_3) fNeur_1.w[((a_3)*max_nNodes_ + (a_2))*max_nLayers_ + a_1 - 187]
#define x_ref(a_1,a_2) fNeur_1.x[(a_2)*max_nLayers_ + a_1 - 7]
#define y_ref(a_1,a_2) fNeur_1.y[(a_2)*max_nLayers_ + a_1 - 7]
#define delta_ref(a_1,a_2,a_3) fDel_1.delta[((a_3)*max_nNodes_ + (a_2))*max_nLayers_ + a_1 - 187]
#define delww_ref(a_1,a_2) fDel_1.delww[(a_2)*max_nLayers_ + a_1 - 7]
#define ww_ref(a_1,a_2) fNeur_1.ww[(a_2)*max_nLayers_ + a_1 - 7]
#define del_ref(a_1,a_2) fDel_1.del[(a_2)*max_nLayers_ + a_1 - 7]
#define deltaww_ref(a_1,a_2) fNeur_1.deltaww[(a_2)*max_nLayers_ + a_1 - 7]
void TMVA::MethodCFMlpANN_Utils::En_arriere( Int_t *ievent )
{
Int_t i__1, i__2, i__3;
Double_t f;
Int_t i__, j, k, l;
Double_t df, uu;
i__1 = fNeur_1.neuron[fParam_1.layerm - 1];
for (i__ = 1; i__ <= i__1; ++i__) {
if (fVarn_1.nclass[*ievent - 1] == i__) {
fNeur_1.o[i__ - 1] = 1.;
}
else {
fNeur_1.o[i__ - 1] = -1.;
}
}
l = fParam_1.layerm;
i__1 = fNeur_1.neuron[l - 1];
for (i__ = 1; i__ <= i__1; ++i__) {
f = y_ref(l, i__);
df = (f + 1.) * (1. - f) / (fDel_1.temp[l - 1] * 2.);
del_ref(l, i__) = df * (fNeur_1.o[i__ - 1] - y_ref(l, i__)) *
fDel_1.coef[i__ - 1];
delww_ref(l, i__) = fParam_1.eeps * del_ref(l, i__);
i__2 = fNeur_1.neuron[l - 2];
for (j = 1; j <= i__2; ++j) {
delw_ref(l, i__, j) = fParam_1.eeps * del_ref(l, i__) * y_ref(l -
1, j);
}
}
for (l = fParam_1.layerm - 1; l >= 2; --l) {
i__2 = fNeur_1.neuron[l - 1];
for (i__ = 1; i__ <= i__2; ++i__) {
uu = 0.;
i__1 = fNeur_1.neuron[l];
for (k = 1; k <= i__1; ++k) {
uu += w_ref(l + 1, k, i__) * del_ref(l + 1, k);
}
Foncf(&l, &x_ref(l, i__), &f);
df = (f + 1.) * (1. - f) / (fDel_1.temp[l - 1] * 2.);
del_ref(l, i__) = df * uu;
delww_ref(l, i__) = fParam_1.eeps * del_ref(l, i__);
i__1 = fNeur_1.neuron[l - 2];
for (j = 1; j <= i__1; ++j) {
delw_ref(l, i__, j) = fParam_1.eeps * del_ref(l, i__) * y_ref(
l - 1, j);
}
}
}
i__1 = fParam_1.layerm;
for (l = 2; l <= i__1; ++l) {
i__2 = fNeur_1.neuron[l - 1];
for (i__ = 1; i__ <= i__2; ++i__) {
deltaww_ref(l, i__) = delww_ref(l, i__) + fParam_1.eta *
deltaww_ref(l, i__);
ww_ref(l, i__) = ww_ref(l, i__) + deltaww_ref(l, i__);
i__3 = fNeur_1.neuron[l - 2];
for (j = 1; j <= i__3; ++j) {
delta_ref(l, i__, j) = delw_ref(l, i__, j) + fParam_1.eta *
delta_ref(l, i__, j);
w_ref(l, i__, j) = w_ref(l, i__, j) + delta_ref(l, i__, j);
}
}
}
}
#undef deltaww_ref
#undef del_ref
#undef ww_ref
#undef delww_ref
#undef delta_ref
#undef y_ref
#undef x_ref
#undef w_ref
#undef delw_ref
#define w_ref(a_1,a_2,a_3) fNeur_1.w[((a_3)*max_nNodes_ + (a_2))*max_nLayers_ + a_1 - 187]
#define ww_ref(a_1,a_2) fNeur_1.ww[(a_2)*max_nLayers_ + a_1 - 7]
void TMVA::MethodCFMlpANN_Utils::Out( Int_t *iii, Int_t *maxcycle )
{
if (*iii == *maxcycle) {
}
}
#undef ww_ref
#undef w_ref
#define delta_ref(a_1,a_2,a_3) fDel_1.delta[((a_3)*max_nNodes_ + (a_2))*max_nLayers_ + a_1 - 187]
#define deltaww_ref(a_1,a_2) fNeur_1.deltaww[(a_2)*max_nLayers_ + a_1 - 7]
void TMVA::MethodCFMlpANN_Utils::Innit( char *det, Double_t *tout2, Double_t *tin2, Int_t )
{
Int_t i__1, i__2, i__3;
Int_t i__, j;
Int_t nevod, layer, ktest, i1, nrest;
Int_t ievent;
Int_t kkk;
Double_t xxx, yyy;
Leclearn(&ktest, tout2, tin2);
Lecev2(&ktest, tout2, tin2);
if (ktest == 1) {
printf( " .... strange to be here (1) ... \n");
std::exit(1);
}
i__1 = fParam_1.layerm - 1;
for (layer = 1; layer <= i__1; ++layer) {
i__2 = fNeur_1.neuron[layer];
for (j = 1; j <= i__2; ++j) {
deltaww_ref(layer + 1, j) = 0.;
i__3 = fNeur_1.neuron[layer - 1];
for (i__ = 1; i__ <= i__3; ++i__) {
delta_ref(layer + 1, j, i__) = 0.;
}
}
}
if (fParam_1.ichoi == 1) {
Inl();
}
else {
Wini();
}
kkk = 0;
i__3 = fParam_1.nblearn;
Timer timer( i__3, "CFMlpANN" );
Int_t num = i__3/100;
for (i1 = 1; i1 <= i__3; ++i1) {
if ( ( num>0 && (i1-1)%num == 0) || (i1 == i__3) ) timer.DrawProgressBar( i1-1 );
i__2 = fParam_1.nevl;
for (i__ = 1; i__ <= i__2; ++i__) {
++kkk;
if (fCost_1.ieps == 2) {
fParam_1.eeps = Fdecroi(&kkk);
}
if (fCost_1.ieps == 1) {
fParam_1.eeps = fParam_1.epsmin;
}
Bool_t doCont = kTRUE;
if (fVarn_1.iclass == 2) {
ievent = (Int_t) ((Double_t) fParam_1.nevl * Sen3a());
if (ievent == 0) {
doCont = kFALSE;
}
}
if (doCont) {
if (fVarn_1.iclass == 1) {
nevod = fParam_1.nevl / fParam_1.lclass;
nrest = i__ % fParam_1.lclass;
fParam_1.ndiv = i__ / fParam_1.lclass;
if (nrest != 0) {
ievent = fParam_1.ndiv + 1 + (fParam_1.lclass - nrest) *
nevod;
}
else {
ievent = fParam_1.ndiv;
}
}
En_avant(&ievent);
En_arriere(&ievent);
}
}
yyy = 0.;
if (i1 % fParam_1.ndivis == 0 || i1 == 1 || i1 == fParam_1.nblearn) {
Cout(&i1, &xxx);
Cout2(&i1, &yyy);
GraphNN(&i1, &xxx, &yyy, det, (Int_t)20);
Out(&i1, &fParam_1.nblearn);
}
if (xxx < fCost_1.tolcou) {
GraphNN(&fParam_1.nblearn, &xxx, &yyy, det, (Int_t)20);
Out(&fParam_1.nblearn, &fParam_1.nblearn);
break;
}
}
}
#undef deltaww_ref
#undef delta_ref
void TMVA::MethodCFMlpANN_Utils::TestNN()
{
Int_t i__1;
Int_t i__;
Int_t ktest;
ktest = 0;
if (fParam_1.layerm > max_nLayers_) {
ktest = 1;
printf("Error: number of layers exceeds maximum: %i, %i ==> abort",
fParam_1.layerm, max_nLayers_ );
Arret("modification of mlpl3_param_lim.inc is needed ");
}
if (fParam_1.nevl > max_Events_) {
ktest = 1;
printf("Error: number of training events exceeds maximum: %i, %i ==> abort",
fParam_1.nevl, max_Events_ );
Arret("modification of mlpl3_param_lim.inc is needed ");
}
if (fParam_1.nevt > max_Events_) {
printf("Error: number of testing events exceeds maximum: %i, %i ==> abort",
fParam_1.nevt, max_Events_ );
Arret("modification of mlpl3_param_lim.inc is needed ");
}
if (fParam_1.lclass < fNeur_1.neuron[fParam_1.layerm - 1]) {
ktest = 1;
printf("Error: wrong number of classes at ouput layer: %i != %i ==> abort\n",
fNeur_1.neuron[fParam_1.layerm - 1], fParam_1.lclass);
Arret("problem needs to reported ");
}
if (fParam_1.nvar > max_nVar_) {
ktest = 1;
printf("Error: number of variables exceeds maximum: %i, %i ==> abort",
fParam_1.nvar, fg_max_nVar_ );
Arret("modification of mlpl3_param_lim.inc is needed");
}
i__1 = fParam_1.layerm;
for (i__ = 1; i__ <= i__1; ++i__) {
if (fNeur_1.neuron[i__ - 1] > max_nNodes_) {
ktest = 1;
printf("Error: number of neurons at layer exceeds maximum: %i, %i ==> abort",
i__, fg_max_nNodes_ );
}
}
if (ktest == 1) {
printf( " .... strange to be here (2) ... \n");
std::exit(1);
}
}
#define y_ref(a_1,a_2) fNeur_1.y[(a_2)*max_nLayers_ + a_1 - 7]
void TMVA::MethodCFMlpANN_Utils::Cout( Int_t * , Double_t *xxx )
{
Int_t i__1, i__2;
Double_t d__1;
Double_t c__;
Int_t i__, j;
c__ = 0.;
i__1 = fParam_1.nevl;
for (i__ = 1; i__ <= i__1; ++i__) {
En_avant(&i__);
i__2 = fNeur_1.neuron[fParam_1.layerm - 1];
for (j = 1; j <= i__2; ++j) {
if (fVarn_1.nclass[i__ - 1] == j) {
fNeur_1.o[j - 1] = 1.;
}
else {
fNeur_1.o[j - 1] = -1.;
}
d__1 = y_ref(fParam_1.layerm, j) - fNeur_1.o[j - 1];
c__ += fDel_1.coef[j - 1] * (d__1 * d__1);
}
}
c__ /= (Double_t) (fParam_1.nevl * fParam_1.lclass) * 2.;
*xxx = c__;
fCost_1.ancout = c__;
}
#undef y_ref
#define w_ref(a_1,a_2,a_3) fNeur_1.w[((a_3)*max_nNodes_ + (a_2))*max_nLayers_ + a_1 - 187]
#define ww_ref(a_1,a_2) fNeur_1.ww[(a_2)*max_nLayers_ + a_1 - 7]
void TMVA::MethodCFMlpANN_Utils::Inl()
{
Int_t i__1, i__2, i__3;
Int_t jmin, jmax, k, layer, kk, nq, nr;
i__1 = fParam_1.nvar;
i__1 = fParam_1.layerm;
i__1 = fParam_1.layerm - 1;
for (layer = 1; layer <= i__1; ++layer) {
nq = fNeur_1.neuron[layer] / 10;
nr = fNeur_1.neuron[layer] - nq * 10;
if (nr == 0) {
kk = nq;
}
else {
kk = nq + 1;
}
i__2 = kk;
for (k = 1; k <= i__2; ++k) {
jmin = k * 10 - 9;
jmax = k * 10;
if (fNeur_1.neuron[layer] < jmax) {
jmax = fNeur_1.neuron[layer];
}
i__3 = fNeur_1.neuron[layer - 1];
}
}
}
#undef ww_ref
#undef w_ref
Double_t TMVA::MethodCFMlpANN_Utils::Fdecroi( Int_t *i__ )
{
Double_t ret_val;
Double_t aaa, bbb;
aaa = (fParam_1.epsmin - fParam_1.epsmax) / (Double_t) (fParam_1.nblearn *
fParam_1.nevl - 1);
bbb = fParam_1.epsmax - aaa;
ret_val = aaa * (Double_t) (*i__) + bbb;
return ret_val;
}
#define y_ref(a_1,a_2) fNeur_1.y[(a_2)*max_nLayers_ + a_1 - 7]
void TMVA::MethodCFMlpANN_Utils::GraphNN( Int_t *ilearn, Double_t * ,
Double_t * , char * , Int_t )
{
Int_t i__1, i__2;
Double_t xmok[max_nNodes_];
Float_t xpaw;
Double_t xmko[max_nNodes_];
Int_t i__, j;
Int_t ix;
Int_t jjj;
Float_t vbn[10];
Int_t nko[max_nNodes_], nok[max_nNodes_];
for (i__ = 1; i__ <= 10; ++i__) {
vbn[i__ - 1] = (Float_t)0.;
}
if (*ilearn == 1) {
}
i__1 = fNeur_1.neuron[fParam_1.layerm - 1];
for (i__ = 1; i__ <= i__1; ++i__) {
nok[i__ - 1] = 0;
nko[i__ - 1] = 0;
xmok[i__ - 1] = 0.;
xmko[i__ - 1] = 0.;
}
i__1 = fParam_1.nevl;
for (i__ = 1; i__ <= i__1; ++i__) {
En_avant(&i__);
i__2 = fNeur_1.neuron[fParam_1.layerm - 1];
for (j = 1; j <= i__2; ++j) {
xpaw = (Float_t) y_ref(fParam_1.layerm, j);
if (fVarn_1.nclass[i__ - 1] == j) {
++nok[j - 1];
xmok[j - 1] += y_ref(fParam_1.layerm, j);
}
else {
++nko[j - 1];
xmko[j - 1] += y_ref(fParam_1.layerm, j);
jjj = j + fNeur_1.neuron[fParam_1.layerm - 1];
}
if (j <= 9) {
vbn[j - 1] = xpaw;
}
}
vbn[9] = (Float_t) fVarn_1.nclass[i__ - 1];
}
i__1 = fNeur_1.neuron[fParam_1.layerm - 1];
for (j = 1; j <= i__1; ++j) {
xmok[j - 1] /= (Double_t) nok[j - 1];
xmko[j - 1] /= (Double_t) nko[j - 1];
fNeur_1.cut[j - 1] = (xmok[j - 1] + xmko[j - 1]) / 2.;
}
ix = fNeur_1.neuron[fParam_1.layerm - 1];
i__1 = ix;
}
#undef y_ref
Double_t TMVA::MethodCFMlpANN_Utils::Sen3a( void )
{
Int_t m12 = 4096;
Double_t f1 = 2.44140625e-4;
Double_t f2 = 5.96046448e-8;
Double_t f3 = 1.45519152e-11;
Int_t j1 = 3823;
Int_t j2 = 4006;
Int_t j3 = 2903;
static Int_t fg_i1 = 3823;
static Int_t fg_i2 = 4006;
static Int_t fg_i3 = 2903;
Double_t ret_val;
Int_t k3, l3, k2, l2, k1, l1;
k3 = fg_i3 * j3;
l3 = k3 / m12;
k2 = fg_i2 * j3 + fg_i3 * j2 + l3;
l2 = k2 / m12;
k1 = fg_i1 * j3 + fg_i2 * j2 + fg_i3 * j1 + l2;
l1 = k1 / m12;
fg_i1 = k1 - l1 * m12;
fg_i2 = k2 - l2 * m12;
fg_i3 = k3 - l3 * m12;
ret_val = f1 * (Double_t) fg_i1 + f2 * (Float_t) fg_i2 + f3 * (Double_t) fg_i3;
return ret_val;
}
void TMVA::MethodCFMlpANN_Utils::Foncf( Int_t *i__, Double_t *u, Double_t *f )
{
Double_t yy;
if (*u / fDel_1.temp[*i__ - 1] > 170.) {
*f = .99999999989999999;
}
else if (*u / fDel_1.temp[*i__ - 1] < -170.) {
*f = -.99999999989999999;
}
else {
yy = TMath::Exp(-(*u) / fDel_1.temp[*i__ - 1]);
*f = (1. - yy) / (yy + 1.);
}
}
#undef w_ref
#define y_ref(a_1,a_2) fNeur_1.y[(a_2)*max_nLayers_ + a_1 - 7]
void TMVA::MethodCFMlpANN_Utils::Cout2( Int_t * , Double_t *yyy )
{
Int_t i__1, i__2;
Double_t d__1;
Double_t c__;
Int_t i__, j;
c__ = 0.;
i__1 = fParam_1.nevt;
for (i__ = 1; i__ <= i__1; ++i__) {
En_avant2(&i__);
i__2 = fNeur_1.neuron[fParam_1.layerm - 1];
for (j = 1; j <= i__2; ++j) {
if (fVarn_1.mclass[i__ - 1] == j) {
fNeur_1.o[j - 1] = 1.;
}
else {
fNeur_1.o[j - 1] = -1.;
}
d__1 = y_ref(fParam_1.layerm, j) - fNeur_1.o[j - 1];
c__ += fDel_1.coef[j - 1] * (d__1 * d__1);
}
}
c__ /= (Double_t) (fParam_1.nevt * fParam_1.lclass) * 2.;
*yyy = c__;
}
#undef y_ref
#define xx_ref(a_1,a_2) fVarn3_1(a_1,a_2)
void TMVA::MethodCFMlpANN_Utils::Lecev2( Int_t *ktest, Double_t *tout2, Double_t *tin2 )
{
Int_t i__1, i__2;
Int_t i__, j, k, l, mocla[max_nNodes_], ikend;
Double_t xpg[max_nVar_];
*ktest = 0;
i__1 = fParam_1.lclass;
for (k = 1; k <= i__1; ++k) {
mocla[k - 1] = 0;
}
i__1 = fParam_1.nevt;
for (i__ = 1; i__ <= i__1; ++i__) {
DataInterface(tout2, tin2, &fg_999, &fg_0, &fParam_1.nevt, &fParam_1.nvar,
xpg, &fVarn_1.mclass[i__ - 1], &ikend);
if (ikend == -1) {
break;
}
i__2 = fParam_1.nvar;
for (j = 1; j <= i__2; ++j) {
xx_ref(i__, j) = xpg[j - 1];
}
}
i__1 = fParam_1.nevt;
for (i__ = 1; i__ <= i__1; ++i__) {
i__2 = fParam_1.nvar;
for (l = 1; l <= i__2; ++l) {
if (fVarn_1.xmax[l - 1] == (Float_t)0. && fVarn_1.xmin[l - 1] == (
Float_t)0.) {
xx_ref(i__, l) = (Float_t)0.;
}
else {
xx_ref(i__, l) = xx_ref(i__, l) - (fVarn_1.xmax[l - 1] +
fVarn_1.xmin[l - 1]) / 2.;
xx_ref(i__, l) = xx_ref(i__, l) / ((fVarn_1.xmax[l - 1] -
fVarn_1.xmin[l - 1]) / 2.);
}
}
}
}
#undef xx_ref
#define w_ref(a_1,a_2,a_3) fNeur_1.w[((a_3)*max_nNodes_ + (a_2))*max_nLayers_ + a_1 - 187]
#define x_ref(a_1,a_2) fNeur_1.x[(a_2)*max_nLayers_ + a_1 - 7]
#define y_ref(a_1,a_2) fNeur_1.y[(a_2)*max_nLayers_ + a_1 - 7]
#define ww_ref(a_1,a_2) fNeur_1.ww[(a_2)*max_nLayers_ + a_1 - 7]
#define xx_ref(a_1,a_2) fVarn3_1(a_1,a_2)
void TMVA::MethodCFMlpANN_Utils::En_avant2( Int_t *ievent )
{
Int_t i__1, i__2, i__3;
Double_t f;
Int_t i__, j;
Int_t layer;
i__1 = fNeur_1.neuron[0];
for (i__ = 1; i__ <= i__1; ++i__) {
y_ref(1, i__) = xx_ref(*ievent, i__);
}
i__1 = fParam_1.layerm - 1;
for (layer = 1; layer <= i__1; ++layer) {
i__2 = fNeur_1.neuron[layer];
for (j = 1; j <= i__2; ++j) {
x_ref(layer + 1, j) = 0.;
i__3 = fNeur_1.neuron[layer - 1];
for (i__ = 1; i__ <= i__3; ++i__) {
x_ref(layer + 1, j) = x_ref(layer + 1, j) + y_ref(layer, i__)
* w_ref(layer + 1, j, i__);
}
x_ref(layer + 1, j) = x_ref(layer + 1, j) + ww_ref(layer + 1, j);
i__3 = layer + 1;
Foncf(&i__3, &x_ref(layer + 1, j), &f);
y_ref(layer + 1, j) = f;
}
}
}
#undef xx_ref
#undef ww_ref
#undef y_ref
#undef x_ref
#undef w_ref
void TMVA::MethodCFMlpANN_Utils::Arret( const char* mot )
{
printf("%s: %s",fg_MethodName, mot);
std::exit(1);
}
void TMVA::MethodCFMlpANN_Utils::CollectVar( Int_t *nvar, Int_t *class__, Double_t *xpg )
{
Int_t i__1;
Int_t i__;
Float_t x[201];
--xpg;
for (i__ = 1; i__ <= 201; ++i__) {
x[i__ - 1] = 0.0;
}
x[0] = (Float_t) (*class__);
i__1 = *nvar;
for (i__ = 1; i__ <= i__1; ++i__) {
x[i__] = (Float_t) xpg[i__];
}
}
MethodCFMlpANN_Utils.cxx:1 MethodCFMlpANN_Utils.cxx:2 MethodCFMlpANN_Utils.cxx:3 MethodCFMlpANN_Utils.cxx:4 MethodCFMlpANN_Utils.cxx:5 MethodCFMlpANN_Utils.cxx:6 MethodCFMlpANN_Utils.cxx:7 MethodCFMlpANN_Utils.cxx:8 MethodCFMlpANN_Utils.cxx:9 MethodCFMlpANN_Utils.cxx:10 MethodCFMlpANN_Utils.cxx:11 MethodCFMlpANN_Utils.cxx:12 MethodCFMlpANN_Utils.cxx:13 MethodCFMlpANN_Utils.cxx:14 MethodCFMlpANN_Utils.cxx:15 MethodCFMlpANN_Utils.cxx:16 MethodCFMlpANN_Utils.cxx:17 MethodCFMlpANN_Utils.cxx:18 MethodCFMlpANN_Utils.cxx:19 MethodCFMlpANN_Utils.cxx:20 MethodCFMlpANN_Utils.cxx:21 MethodCFMlpANN_Utils.cxx:22 MethodCFMlpANN_Utils.cxx:23 MethodCFMlpANN_Utils.cxx:24 MethodCFMlpANN_Utils.cxx:25 MethodCFMlpANN_Utils.cxx:26 MethodCFMlpANN_Utils.cxx:27 MethodCFMlpANN_Utils.cxx:28 MethodCFMlpANN_Utils.cxx:29 MethodCFMlpANN_Utils.cxx:30 MethodCFMlpANN_Utils.cxx:31 MethodCFMlpANN_Utils.cxx:32 MethodCFMlpANN_Utils.cxx:33 MethodCFMlpANN_Utils.cxx:34 MethodCFMlpANN_Utils.cxx:35 MethodCFMlpANN_Utils.cxx:36 MethodCFMlpANN_Utils.cxx:37 MethodCFMlpANN_Utils.cxx:38 MethodCFMlpANN_Utils.cxx:39 MethodCFMlpANN_Utils.cxx:40 MethodCFMlpANN_Utils.cxx:41 MethodCFMlpANN_Utils.cxx:42 MethodCFMlpANN_Utils.cxx:43 MethodCFMlpANN_Utils.cxx:44 MethodCFMlpANN_Utils.cxx:45 MethodCFMlpANN_Utils.cxx:46 MethodCFMlpANN_Utils.cxx:47 MethodCFMlpANN_Utils.cxx:48 MethodCFMlpANN_Utils.cxx:49 MethodCFMlpANN_Utils.cxx:50 MethodCFMlpANN_Utils.cxx:51 MethodCFMlpANN_Utils.cxx:52 MethodCFMlpANN_Utils.cxx:53 MethodCFMlpANN_Utils.cxx:54 MethodCFMlpANN_Utils.cxx:55 MethodCFMlpANN_Utils.cxx:56 MethodCFMlpANN_Utils.cxx:57 MethodCFMlpANN_Utils.cxx:58 MethodCFMlpANN_Utils.cxx:59 MethodCFMlpANN_Utils.cxx:60 MethodCFMlpANN_Utils.cxx:61 MethodCFMlpANN_Utils.cxx:62 MethodCFMlpANN_Utils.cxx:63 MethodCFMlpANN_Utils.cxx:64 MethodCFMlpANN_Utils.cxx:65 MethodCFMlpANN_Utils.cxx:66 MethodCFMlpANN_Utils.cxx:67 MethodCFMlpANN_Utils.cxx:68 MethodCFMlpANN_Utils.cxx:69 MethodCFMlpANN_Utils.cxx:70 MethodCFMlpANN_Utils.cxx:71 MethodCFMlpANN_Utils.cxx:72 MethodCFMlpANN_Utils.cxx:73 MethodCFMlpANN_Utils.cxx:74 MethodCFMlpANN_Utils.cxx:75 MethodCFMlpANN_Utils.cxx:76 MethodCFMlpANN_Utils.cxx:77 MethodCFMlpANN_Utils.cxx:78 MethodCFMlpANN_Utils.cxx:79 MethodCFMlpANN_Utils.cxx:80 MethodCFMlpANN_Utils.cxx:81 MethodCFMlpANN_Utils.cxx:82 MethodCFMlpANN_Utils.cxx:83 MethodCFMlpANN_Utils.cxx:84 MethodCFMlpANN_Utils.cxx:85 MethodCFMlpANN_Utils.cxx:86 MethodCFMlpANN_Utils.cxx:87 MethodCFMlpANN_Utils.cxx:88 MethodCFMlpANN_Utils.cxx:89 MethodCFMlpANN_Utils.cxx:90 MethodCFMlpANN_Utils.cxx:91 MethodCFMlpANN_Utils.cxx:92 MethodCFMlpANN_Utils.cxx:93 MethodCFMlpANN_Utils.cxx:94 MethodCFMlpANN_Utils.cxx:95 MethodCFMlpANN_Utils.cxx:96 MethodCFMlpANN_Utils.cxx:97 MethodCFMlpANN_Utils.cxx:98 MethodCFMlpANN_Utils.cxx:99 MethodCFMlpANN_Utils.cxx:100 MethodCFMlpANN_Utils.cxx:101 MethodCFMlpANN_Utils.cxx:102 MethodCFMlpANN_Utils.cxx:103 MethodCFMlpANN_Utils.cxx:104 MethodCFMlpANN_Utils.cxx:105 MethodCFMlpANN_Utils.cxx:106 MethodCFMlpANN_Utils.cxx:107 MethodCFMlpANN_Utils.cxx:108 MethodCFMlpANN_Utils.cxx:109 MethodCFMlpANN_Utils.cxx:110 MethodCFMlpANN_Utils.cxx:111 MethodCFMlpANN_Utils.cxx:112 MethodCFMlpANN_Utils.cxx:113 MethodCFMlpANN_Utils.cxx:114 MethodCFMlpANN_Utils.cxx:115 MethodCFMlpANN_Utils.cxx:116 MethodCFMlpANN_Utils.cxx:117 MethodCFMlpANN_Utils.cxx:118 MethodCFMlpANN_Utils.cxx:119 MethodCFMlpANN_Utils.cxx:120 MethodCFMlpANN_Utils.cxx:121 MethodCFMlpANN_Utils.cxx:122 MethodCFMlpANN_Utils.cxx:123 MethodCFMlpANN_Utils.cxx:124 MethodCFMlpANN_Utils.cxx:125 MethodCFMlpANN_Utils.cxx:126 MethodCFMlpANN_Utils.cxx:127 MethodCFMlpANN_Utils.cxx:128 MethodCFMlpANN_Utils.cxx:129 MethodCFMlpANN_Utils.cxx:130 MethodCFMlpANN_Utils.cxx:131 MethodCFMlpANN_Utils.cxx:132 MethodCFMlpANN_Utils.cxx:133 MethodCFMlpANN_Utils.cxx:134 MethodCFMlpANN_Utils.cxx:135 MethodCFMlpANN_Utils.cxx:136 MethodCFMlpANN_Utils.cxx:137 MethodCFMlpANN_Utils.cxx:138 MethodCFMlpANN_Utils.cxx:139 MethodCFMlpANN_Utils.cxx:140 MethodCFMlpANN_Utils.cxx:141 MethodCFMlpANN_Utils.cxx:142 MethodCFMlpANN_Utils.cxx:143 MethodCFMlpANN_Utils.cxx:144 MethodCFMlpANN_Utils.cxx:145 MethodCFMlpANN_Utils.cxx:146 MethodCFMlpANN_Utils.cxx:147 MethodCFMlpANN_Utils.cxx:148 MethodCFMlpANN_Utils.cxx:149 MethodCFMlpANN_Utils.cxx:150 MethodCFMlpANN_Utils.cxx:151 MethodCFMlpANN_Utils.cxx:152 MethodCFMlpANN_Utils.cxx:153 MethodCFMlpANN_Utils.cxx:154 MethodCFMlpANN_Utils.cxx:155 MethodCFMlpANN_Utils.cxx:156 MethodCFMlpANN_Utils.cxx:157 MethodCFMlpANN_Utils.cxx:158 MethodCFMlpANN_Utils.cxx:159 MethodCFMlpANN_Utils.cxx:160 MethodCFMlpANN_Utils.cxx:161 MethodCFMlpANN_Utils.cxx:162 MethodCFMlpANN_Utils.cxx:163 MethodCFMlpANN_Utils.cxx:164 MethodCFMlpANN_Utils.cxx:165 MethodCFMlpANN_Utils.cxx:166 MethodCFMlpANN_Utils.cxx:167 MethodCFMlpANN_Utils.cxx:168 MethodCFMlpANN_Utils.cxx:169 MethodCFMlpANN_Utils.cxx:170 MethodCFMlpANN_Utils.cxx:171 MethodCFMlpANN_Utils.cxx:172 MethodCFMlpANN_Utils.cxx:173 MethodCFMlpANN_Utils.cxx:174 MethodCFMlpANN_Utils.cxx:175 MethodCFMlpANN_Utils.cxx:176 MethodCFMlpANN_Utils.cxx:177 MethodCFMlpANN_Utils.cxx:178 MethodCFMlpANN_Utils.cxx:179 MethodCFMlpANN_Utils.cxx:180 MethodCFMlpANN_Utils.cxx:181 MethodCFMlpANN_Utils.cxx:182 MethodCFMlpANN_Utils.cxx:183 MethodCFMlpANN_Utils.cxx:184 MethodCFMlpANN_Utils.cxx:185 MethodCFMlpANN_Utils.cxx:186 MethodCFMlpANN_Utils.cxx:187 MethodCFMlpANN_Utils.cxx:188 MethodCFMlpANN_Utils.cxx:189 MethodCFMlpANN_Utils.cxx:190 MethodCFMlpANN_Utils.cxx:191 MethodCFMlpANN_Utils.cxx:192 MethodCFMlpANN_Utils.cxx:193 MethodCFMlpANN_Utils.cxx:194 MethodCFMlpANN_Utils.cxx:195 MethodCFMlpANN_Utils.cxx:196 MethodCFMlpANN_Utils.cxx:197 MethodCFMlpANN_Utils.cxx:198 MethodCFMlpANN_Utils.cxx:199 MethodCFMlpANN_Utils.cxx:200 MethodCFMlpANN_Utils.cxx:201 MethodCFMlpANN_Utils.cxx:202 MethodCFMlpANN_Utils.cxx:203 MethodCFMlpANN_Utils.cxx:204 MethodCFMlpANN_Utils.cxx:205 MethodCFMlpANN_Utils.cxx:206 MethodCFMlpANN_Utils.cxx:207 MethodCFMlpANN_Utils.cxx:208 MethodCFMlpANN_Utils.cxx:209 MethodCFMlpANN_Utils.cxx:210 MethodCFMlpANN_Utils.cxx:211 MethodCFMlpANN_Utils.cxx:212 MethodCFMlpANN_Utils.cxx:213 MethodCFMlpANN_Utils.cxx:214 MethodCFMlpANN_Utils.cxx:215 MethodCFMlpANN_Utils.cxx:216 MethodCFMlpANN_Utils.cxx:217 MethodCFMlpANN_Utils.cxx:218 MethodCFMlpANN_Utils.cxx:219 MethodCFMlpANN_Utils.cxx:220 MethodCFMlpANN_Utils.cxx:221 MethodCFMlpANN_Utils.cxx:222 MethodCFMlpANN_Utils.cxx:223 MethodCFMlpANN_Utils.cxx:224 MethodCFMlpANN_Utils.cxx:225 MethodCFMlpANN_Utils.cxx:226 MethodCFMlpANN_Utils.cxx:227 MethodCFMlpANN_Utils.cxx:228 MethodCFMlpANN_Utils.cxx:229 MethodCFMlpANN_Utils.cxx:230 MethodCFMlpANN_Utils.cxx:231 MethodCFMlpANN_Utils.cxx:232 MethodCFMlpANN_Utils.cxx:233 MethodCFMlpANN_Utils.cxx:234 MethodCFMlpANN_Utils.cxx:235 MethodCFMlpANN_Utils.cxx:236 MethodCFMlpANN_Utils.cxx:237 MethodCFMlpANN_Utils.cxx:238 MethodCFMlpANN_Utils.cxx:239 MethodCFMlpANN_Utils.cxx:240 MethodCFMlpANN_Utils.cxx:241 MethodCFMlpANN_Utils.cxx:242 MethodCFMlpANN_Utils.cxx:243 MethodCFMlpANN_Utils.cxx:244 MethodCFMlpANN_Utils.cxx:245 MethodCFMlpANN_Utils.cxx:246 MethodCFMlpANN_Utils.cxx:247 MethodCFMlpANN_Utils.cxx:248 MethodCFMlpANN_Utils.cxx:249 MethodCFMlpANN_Utils.cxx:250 MethodCFMlpANN_Utils.cxx:251 MethodCFMlpANN_Utils.cxx:252 MethodCFMlpANN_Utils.cxx:253 MethodCFMlpANN_Utils.cxx:254 MethodCFMlpANN_Utils.cxx:255 MethodCFMlpANN_Utils.cxx:256 MethodCFMlpANN_Utils.cxx:257 MethodCFMlpANN_Utils.cxx:258 MethodCFMlpANN_Utils.cxx:259 MethodCFMlpANN_Utils.cxx:260 MethodCFMlpANN_Utils.cxx:261 MethodCFMlpANN_Utils.cxx:262 MethodCFMlpANN_Utils.cxx:263 MethodCFMlpANN_Utils.cxx:264 MethodCFMlpANN_Utils.cxx:265 MethodCFMlpANN_Utils.cxx:266 MethodCFMlpANN_Utils.cxx:267 MethodCFMlpANN_Utils.cxx:268 MethodCFMlpANN_Utils.cxx:269 MethodCFMlpANN_Utils.cxx:270 MethodCFMlpANN_Utils.cxx:271 MethodCFMlpANN_Utils.cxx:272 MethodCFMlpANN_Utils.cxx:273 MethodCFMlpANN_Utils.cxx:274 MethodCFMlpANN_Utils.cxx:275 MethodCFMlpANN_Utils.cxx:276 MethodCFMlpANN_Utils.cxx:277 MethodCFMlpANN_Utils.cxx:278 MethodCFMlpANN_Utils.cxx:279 MethodCFMlpANN_Utils.cxx:280 MethodCFMlpANN_Utils.cxx:281 MethodCFMlpANN_Utils.cxx:282 MethodCFMlpANN_Utils.cxx:283 MethodCFMlpANN_Utils.cxx:284 MethodCFMlpANN_Utils.cxx:285 MethodCFMlpANN_Utils.cxx:286 MethodCFMlpANN_Utils.cxx:287 MethodCFMlpANN_Utils.cxx:288 MethodCFMlpANN_Utils.cxx:289 MethodCFMlpANN_Utils.cxx:290 MethodCFMlpANN_Utils.cxx:291 MethodCFMlpANN_Utils.cxx:292 MethodCFMlpANN_Utils.cxx:293 MethodCFMlpANN_Utils.cxx:294 MethodCFMlpANN_Utils.cxx:295 MethodCFMlpANN_Utils.cxx:296 MethodCFMlpANN_Utils.cxx:297 MethodCFMlpANN_Utils.cxx:298 MethodCFMlpANN_Utils.cxx:299 MethodCFMlpANN_Utils.cxx:300 MethodCFMlpANN_Utils.cxx:301 MethodCFMlpANN_Utils.cxx:302 MethodCFMlpANN_Utils.cxx:303 MethodCFMlpANN_Utils.cxx:304 MethodCFMlpANN_Utils.cxx:305 MethodCFMlpANN_Utils.cxx:306 MethodCFMlpANN_Utils.cxx:307 MethodCFMlpANN_Utils.cxx:308 MethodCFMlpANN_Utils.cxx:309 MethodCFMlpANN_Utils.cxx:310 MethodCFMlpANN_Utils.cxx:311 MethodCFMlpANN_Utils.cxx:312 MethodCFMlpANN_Utils.cxx:313 MethodCFMlpANN_Utils.cxx:314 MethodCFMlpANN_Utils.cxx:315 MethodCFMlpANN_Utils.cxx:316 MethodCFMlpANN_Utils.cxx:317 MethodCFMlpANN_Utils.cxx:318 MethodCFMlpANN_Utils.cxx:319 MethodCFMlpANN_Utils.cxx:320 MethodCFMlpANN_Utils.cxx:321 MethodCFMlpANN_Utils.cxx:322 MethodCFMlpANN_Utils.cxx:323 MethodCFMlpANN_Utils.cxx:324 MethodCFMlpANN_Utils.cxx:325 MethodCFMlpANN_Utils.cxx:326 MethodCFMlpANN_Utils.cxx:327 MethodCFMlpANN_Utils.cxx:328 MethodCFMlpANN_Utils.cxx:329 MethodCFMlpANN_Utils.cxx:330 MethodCFMlpANN_Utils.cxx:331 MethodCFMlpANN_Utils.cxx:332 MethodCFMlpANN_Utils.cxx:333 MethodCFMlpANN_Utils.cxx:334 MethodCFMlpANN_Utils.cxx:335 MethodCFMlpANN_Utils.cxx:336 MethodCFMlpANN_Utils.cxx:337 MethodCFMlpANN_Utils.cxx:338 MethodCFMlpANN_Utils.cxx:339 MethodCFMlpANN_Utils.cxx:340 MethodCFMlpANN_Utils.cxx:341 MethodCFMlpANN_Utils.cxx:342 MethodCFMlpANN_Utils.cxx:343 MethodCFMlpANN_Utils.cxx:344 MethodCFMlpANN_Utils.cxx:345 MethodCFMlpANN_Utils.cxx:346 MethodCFMlpANN_Utils.cxx:347 MethodCFMlpANN_Utils.cxx:348 MethodCFMlpANN_Utils.cxx:349 MethodCFMlpANN_Utils.cxx:350 MethodCFMlpANN_Utils.cxx:351 MethodCFMlpANN_Utils.cxx:352 MethodCFMlpANN_Utils.cxx:353 MethodCFMlpANN_Utils.cxx:354 MethodCFMlpANN_Utils.cxx:355 MethodCFMlpANN_Utils.cxx:356 MethodCFMlpANN_Utils.cxx:357 MethodCFMlpANN_Utils.cxx:358 MethodCFMlpANN_Utils.cxx:359 MethodCFMlpANN_Utils.cxx:360 MethodCFMlpANN_Utils.cxx:361 MethodCFMlpANN_Utils.cxx:362 MethodCFMlpANN_Utils.cxx:363 MethodCFMlpANN_Utils.cxx:364 MethodCFMlpANN_Utils.cxx:365 MethodCFMlpANN_Utils.cxx:366 MethodCFMlpANN_Utils.cxx:367 MethodCFMlpANN_Utils.cxx:368 MethodCFMlpANN_Utils.cxx:369 MethodCFMlpANN_Utils.cxx:370 MethodCFMlpANN_Utils.cxx:371 MethodCFMlpANN_Utils.cxx:372 MethodCFMlpANN_Utils.cxx:373 MethodCFMlpANN_Utils.cxx:374 MethodCFMlpANN_Utils.cxx:375 MethodCFMlpANN_Utils.cxx:376 MethodCFMlpANN_Utils.cxx:377 MethodCFMlpANN_Utils.cxx:378 MethodCFMlpANN_Utils.cxx:379 MethodCFMlpANN_Utils.cxx:380 MethodCFMlpANN_Utils.cxx:381 MethodCFMlpANN_Utils.cxx:382 MethodCFMlpANN_Utils.cxx:383 MethodCFMlpANN_Utils.cxx:384 MethodCFMlpANN_Utils.cxx:385 MethodCFMlpANN_Utils.cxx:386 MethodCFMlpANN_Utils.cxx:387 MethodCFMlpANN_Utils.cxx:388 MethodCFMlpANN_Utils.cxx:389 MethodCFMlpANN_Utils.cxx:390 MethodCFMlpANN_Utils.cxx:391 MethodCFMlpANN_Utils.cxx:392 MethodCFMlpANN_Utils.cxx:393 MethodCFMlpANN_Utils.cxx:394 MethodCFMlpANN_Utils.cxx:395 MethodCFMlpANN_Utils.cxx:396 MethodCFMlpANN_Utils.cxx:397 MethodCFMlpANN_Utils.cxx:398 MethodCFMlpANN_Utils.cxx:399 MethodCFMlpANN_Utils.cxx:400 MethodCFMlpANN_Utils.cxx:401 MethodCFMlpANN_Utils.cxx:402 MethodCFMlpANN_Utils.cxx:403 MethodCFMlpANN_Utils.cxx:404 MethodCFMlpANN_Utils.cxx:405 MethodCFMlpANN_Utils.cxx:406 MethodCFMlpANN_Utils.cxx:407 MethodCFMlpANN_Utils.cxx:408 MethodCFMlpANN_Utils.cxx:409 MethodCFMlpANN_Utils.cxx:410 MethodCFMlpANN_Utils.cxx:411 MethodCFMlpANN_Utils.cxx:412 MethodCFMlpANN_Utils.cxx:413 MethodCFMlpANN_Utils.cxx:414 MethodCFMlpANN_Utils.cxx:415 MethodCFMlpANN_Utils.cxx:416 MethodCFMlpANN_Utils.cxx:417 MethodCFMlpANN_Utils.cxx:418 MethodCFMlpANN_Utils.cxx:419 MethodCFMlpANN_Utils.cxx:420 MethodCFMlpANN_Utils.cxx:421 MethodCFMlpANN_Utils.cxx:422 MethodCFMlpANN_Utils.cxx:423 MethodCFMlpANN_Utils.cxx:424 MethodCFMlpANN_Utils.cxx:425 MethodCFMlpANN_Utils.cxx:426 MethodCFMlpANN_Utils.cxx:427 MethodCFMlpANN_Utils.cxx:428 MethodCFMlpANN_Utils.cxx:429 MethodCFMlpANN_Utils.cxx:430 MethodCFMlpANN_Utils.cxx:431 MethodCFMlpANN_Utils.cxx:432 MethodCFMlpANN_Utils.cxx:433 MethodCFMlpANN_Utils.cxx:434 MethodCFMlpANN_Utils.cxx:435 MethodCFMlpANN_Utils.cxx:436 MethodCFMlpANN_Utils.cxx:437 MethodCFMlpANN_Utils.cxx:438 MethodCFMlpANN_Utils.cxx:439 MethodCFMlpANN_Utils.cxx:440 MethodCFMlpANN_Utils.cxx:441 MethodCFMlpANN_Utils.cxx:442 MethodCFMlpANN_Utils.cxx:443 MethodCFMlpANN_Utils.cxx:444 MethodCFMlpANN_Utils.cxx:445 MethodCFMlpANN_Utils.cxx:446 MethodCFMlpANN_Utils.cxx:447 MethodCFMlpANN_Utils.cxx:448 MethodCFMlpANN_Utils.cxx:449 MethodCFMlpANN_Utils.cxx:450 MethodCFMlpANN_Utils.cxx:451 MethodCFMlpANN_Utils.cxx:452 MethodCFMlpANN_Utils.cxx:453 MethodCFMlpANN_Utils.cxx:454 MethodCFMlpANN_Utils.cxx:455 MethodCFMlpANN_Utils.cxx:456 MethodCFMlpANN_Utils.cxx:457 MethodCFMlpANN_Utils.cxx:458 MethodCFMlpANN_Utils.cxx:459 MethodCFMlpANN_Utils.cxx:460 MethodCFMlpANN_Utils.cxx:461 MethodCFMlpANN_Utils.cxx:462 MethodCFMlpANN_Utils.cxx:463 MethodCFMlpANN_Utils.cxx:464 MethodCFMlpANN_Utils.cxx:465 MethodCFMlpANN_Utils.cxx:466 MethodCFMlpANN_Utils.cxx:467 MethodCFMlpANN_Utils.cxx:468 MethodCFMlpANN_Utils.cxx:469 MethodCFMlpANN_Utils.cxx:470 MethodCFMlpANN_Utils.cxx:471 MethodCFMlpANN_Utils.cxx:472 MethodCFMlpANN_Utils.cxx:473 MethodCFMlpANN_Utils.cxx:474 MethodCFMlpANN_Utils.cxx:475 MethodCFMlpANN_Utils.cxx:476 MethodCFMlpANN_Utils.cxx:477 MethodCFMlpANN_Utils.cxx:478 MethodCFMlpANN_Utils.cxx:479 MethodCFMlpANN_Utils.cxx:480 MethodCFMlpANN_Utils.cxx:481 MethodCFMlpANN_Utils.cxx:482 MethodCFMlpANN_Utils.cxx:483 MethodCFMlpANN_Utils.cxx:484 MethodCFMlpANN_Utils.cxx:485 MethodCFMlpANN_Utils.cxx:486 MethodCFMlpANN_Utils.cxx:487 MethodCFMlpANN_Utils.cxx:488 MethodCFMlpANN_Utils.cxx:489 MethodCFMlpANN_Utils.cxx:490 MethodCFMlpANN_Utils.cxx:491 MethodCFMlpANN_Utils.cxx:492 MethodCFMlpANN_Utils.cxx:493 MethodCFMlpANN_Utils.cxx:494 MethodCFMlpANN_Utils.cxx:495 MethodCFMlpANN_Utils.cxx:496 MethodCFMlpANN_Utils.cxx:497 MethodCFMlpANN_Utils.cxx:498 MethodCFMlpANN_Utils.cxx:499 MethodCFMlpANN_Utils.cxx:500 MethodCFMlpANN_Utils.cxx:501 MethodCFMlpANN_Utils.cxx:502 MethodCFMlpANN_Utils.cxx:503 MethodCFMlpANN_Utils.cxx:504 MethodCFMlpANN_Utils.cxx:505 MethodCFMlpANN_Utils.cxx:506 MethodCFMlpANN_Utils.cxx:507 MethodCFMlpANN_Utils.cxx:508 MethodCFMlpANN_Utils.cxx:509 MethodCFMlpANN_Utils.cxx:510 MethodCFMlpANN_Utils.cxx:511 MethodCFMlpANN_Utils.cxx:512 MethodCFMlpANN_Utils.cxx:513 MethodCFMlpANN_Utils.cxx:514 MethodCFMlpANN_Utils.cxx:515 MethodCFMlpANN_Utils.cxx:516 MethodCFMlpANN_Utils.cxx:517 MethodCFMlpANN_Utils.cxx:518 MethodCFMlpANN_Utils.cxx:519 MethodCFMlpANN_Utils.cxx:520 MethodCFMlpANN_Utils.cxx:521 MethodCFMlpANN_Utils.cxx:522 MethodCFMlpANN_Utils.cxx:523 MethodCFMlpANN_Utils.cxx:524 MethodCFMlpANN_Utils.cxx:525 MethodCFMlpANN_Utils.cxx:526 MethodCFMlpANN_Utils.cxx:527 MethodCFMlpANN_Utils.cxx:528 MethodCFMlpANN_Utils.cxx:529 MethodCFMlpANN_Utils.cxx:530 MethodCFMlpANN_Utils.cxx:531 MethodCFMlpANN_Utils.cxx:532 MethodCFMlpANN_Utils.cxx:533 MethodCFMlpANN_Utils.cxx:534 MethodCFMlpANN_Utils.cxx:535 MethodCFMlpANN_Utils.cxx:536 MethodCFMlpANN_Utils.cxx:537 MethodCFMlpANN_Utils.cxx:538 MethodCFMlpANN_Utils.cxx:539 MethodCFMlpANN_Utils.cxx:540 MethodCFMlpANN_Utils.cxx:541 MethodCFMlpANN_Utils.cxx:542 MethodCFMlpANN_Utils.cxx:543 MethodCFMlpANN_Utils.cxx:544 MethodCFMlpANN_Utils.cxx:545 MethodCFMlpANN_Utils.cxx:546 MethodCFMlpANN_Utils.cxx:547 MethodCFMlpANN_Utils.cxx:548 MethodCFMlpANN_Utils.cxx:549 MethodCFMlpANN_Utils.cxx:550 MethodCFMlpANN_Utils.cxx:551 MethodCFMlpANN_Utils.cxx:552 MethodCFMlpANN_Utils.cxx:553 MethodCFMlpANN_Utils.cxx:554 MethodCFMlpANN_Utils.cxx:555 MethodCFMlpANN_Utils.cxx:556 MethodCFMlpANN_Utils.cxx:557 MethodCFMlpANN_Utils.cxx:558 MethodCFMlpANN_Utils.cxx:559 MethodCFMlpANN_Utils.cxx:560 MethodCFMlpANN_Utils.cxx:561 MethodCFMlpANN_Utils.cxx:562 MethodCFMlpANN_Utils.cxx:563 MethodCFMlpANN_Utils.cxx:564 MethodCFMlpANN_Utils.cxx:565 MethodCFMlpANN_Utils.cxx:566 MethodCFMlpANN_Utils.cxx:567 MethodCFMlpANN_Utils.cxx:568 MethodCFMlpANN_Utils.cxx:569 MethodCFMlpANN_Utils.cxx:570 MethodCFMlpANN_Utils.cxx:571 MethodCFMlpANN_Utils.cxx:572 MethodCFMlpANN_Utils.cxx:573 MethodCFMlpANN_Utils.cxx:574 MethodCFMlpANN_Utils.cxx:575 MethodCFMlpANN_Utils.cxx:576 MethodCFMlpANN_Utils.cxx:577 MethodCFMlpANN_Utils.cxx:578 MethodCFMlpANN_Utils.cxx:579 MethodCFMlpANN_Utils.cxx:580 MethodCFMlpANN_Utils.cxx:581 MethodCFMlpANN_Utils.cxx:582 MethodCFMlpANN_Utils.cxx:583 MethodCFMlpANN_Utils.cxx:584 MethodCFMlpANN_Utils.cxx:585 MethodCFMlpANN_Utils.cxx:586 MethodCFMlpANN_Utils.cxx:587 MethodCFMlpANN_Utils.cxx:588 MethodCFMlpANN_Utils.cxx:589 MethodCFMlpANN_Utils.cxx:590 MethodCFMlpANN_Utils.cxx:591 MethodCFMlpANN_Utils.cxx:592 MethodCFMlpANN_Utils.cxx:593 MethodCFMlpANN_Utils.cxx:594 MethodCFMlpANN_Utils.cxx:595 MethodCFMlpANN_Utils.cxx:596 MethodCFMlpANN_Utils.cxx:597 MethodCFMlpANN_Utils.cxx:598 MethodCFMlpANN_Utils.cxx:599 MethodCFMlpANN_Utils.cxx:600 MethodCFMlpANN_Utils.cxx:601 MethodCFMlpANN_Utils.cxx:602 MethodCFMlpANN_Utils.cxx:603 MethodCFMlpANN_Utils.cxx:604 MethodCFMlpANN_Utils.cxx:605 MethodCFMlpANN_Utils.cxx:606 MethodCFMlpANN_Utils.cxx:607 MethodCFMlpANN_Utils.cxx:608 MethodCFMlpANN_Utils.cxx:609 MethodCFMlpANN_Utils.cxx:610 MethodCFMlpANN_Utils.cxx:611 MethodCFMlpANN_Utils.cxx:612 MethodCFMlpANN_Utils.cxx:613 MethodCFMlpANN_Utils.cxx:614 MethodCFMlpANN_Utils.cxx:615 MethodCFMlpANN_Utils.cxx:616 MethodCFMlpANN_Utils.cxx:617 MethodCFMlpANN_Utils.cxx:618 MethodCFMlpANN_Utils.cxx:619 MethodCFMlpANN_Utils.cxx:620 MethodCFMlpANN_Utils.cxx:621 MethodCFMlpANN_Utils.cxx:622 MethodCFMlpANN_Utils.cxx:623 MethodCFMlpANN_Utils.cxx:624 MethodCFMlpANN_Utils.cxx:625 MethodCFMlpANN_Utils.cxx:626 MethodCFMlpANN_Utils.cxx:627 MethodCFMlpANN_Utils.cxx:628 MethodCFMlpANN_Utils.cxx:629 MethodCFMlpANN_Utils.cxx:630 MethodCFMlpANN_Utils.cxx:631 MethodCFMlpANN_Utils.cxx:632 MethodCFMlpANN_Utils.cxx:633 MethodCFMlpANN_Utils.cxx:634 MethodCFMlpANN_Utils.cxx:635 MethodCFMlpANN_Utils.cxx:636 MethodCFMlpANN_Utils.cxx:637 MethodCFMlpANN_Utils.cxx:638 MethodCFMlpANN_Utils.cxx:639 MethodCFMlpANN_Utils.cxx:640 MethodCFMlpANN_Utils.cxx:641 MethodCFMlpANN_Utils.cxx:642 MethodCFMlpANN_Utils.cxx:643 MethodCFMlpANN_Utils.cxx:644 MethodCFMlpANN_Utils.cxx:645 MethodCFMlpANN_Utils.cxx:646 MethodCFMlpANN_Utils.cxx:647 MethodCFMlpANN_Utils.cxx:648 MethodCFMlpANN_Utils.cxx:649 MethodCFMlpANN_Utils.cxx:650 MethodCFMlpANN_Utils.cxx:651 MethodCFMlpANN_Utils.cxx:652 MethodCFMlpANN_Utils.cxx:653 MethodCFMlpANN_Utils.cxx:654 MethodCFMlpANN_Utils.cxx:655 MethodCFMlpANN_Utils.cxx:656 MethodCFMlpANN_Utils.cxx:657 MethodCFMlpANN_Utils.cxx:658 MethodCFMlpANN_Utils.cxx:659 MethodCFMlpANN_Utils.cxx:660 MethodCFMlpANN_Utils.cxx:661 MethodCFMlpANN_Utils.cxx:662 MethodCFMlpANN_Utils.cxx:663 MethodCFMlpANN_Utils.cxx:664 MethodCFMlpANN_Utils.cxx:665 MethodCFMlpANN_Utils.cxx:666 MethodCFMlpANN_Utils.cxx:667 MethodCFMlpANN_Utils.cxx:668 MethodCFMlpANN_Utils.cxx:669 MethodCFMlpANN_Utils.cxx:670 MethodCFMlpANN_Utils.cxx:671 MethodCFMlpANN_Utils.cxx:672 MethodCFMlpANN_Utils.cxx:673 MethodCFMlpANN_Utils.cxx:674 MethodCFMlpANN_Utils.cxx:675 MethodCFMlpANN_Utils.cxx:676 MethodCFMlpANN_Utils.cxx:677 MethodCFMlpANN_Utils.cxx:678 MethodCFMlpANN_Utils.cxx:679 MethodCFMlpANN_Utils.cxx:680 MethodCFMlpANN_Utils.cxx:681 MethodCFMlpANN_Utils.cxx:682 MethodCFMlpANN_Utils.cxx:683 MethodCFMlpANN_Utils.cxx:684 MethodCFMlpANN_Utils.cxx:685 MethodCFMlpANN_Utils.cxx:686 MethodCFMlpANN_Utils.cxx:687 MethodCFMlpANN_Utils.cxx:688 MethodCFMlpANN_Utils.cxx:689 MethodCFMlpANN_Utils.cxx:690 MethodCFMlpANN_Utils.cxx:691 MethodCFMlpANN_Utils.cxx:692 MethodCFMlpANN_Utils.cxx:693 MethodCFMlpANN_Utils.cxx:694 MethodCFMlpANN_Utils.cxx:695 MethodCFMlpANN_Utils.cxx:696 MethodCFMlpANN_Utils.cxx:697 MethodCFMlpANN_Utils.cxx:698 MethodCFMlpANN_Utils.cxx:699 MethodCFMlpANN_Utils.cxx:700 MethodCFMlpANN_Utils.cxx:701 MethodCFMlpANN_Utils.cxx:702 MethodCFMlpANN_Utils.cxx:703 MethodCFMlpANN_Utils.cxx:704 MethodCFMlpANN_Utils.cxx:705 MethodCFMlpANN_Utils.cxx:706 MethodCFMlpANN_Utils.cxx:707 MethodCFMlpANN_Utils.cxx:708 MethodCFMlpANN_Utils.cxx:709 MethodCFMlpANN_Utils.cxx:710 MethodCFMlpANN_Utils.cxx:711 MethodCFMlpANN_Utils.cxx:712 MethodCFMlpANN_Utils.cxx:713 MethodCFMlpANN_Utils.cxx:714 MethodCFMlpANN_Utils.cxx:715 MethodCFMlpANN_Utils.cxx:716 MethodCFMlpANN_Utils.cxx:717 MethodCFMlpANN_Utils.cxx:718 MethodCFMlpANN_Utils.cxx:719 MethodCFMlpANN_Utils.cxx:720 MethodCFMlpANN_Utils.cxx:721 MethodCFMlpANN_Utils.cxx:722 MethodCFMlpANN_Utils.cxx:723 MethodCFMlpANN_Utils.cxx:724 MethodCFMlpANN_Utils.cxx:725 MethodCFMlpANN_Utils.cxx:726 MethodCFMlpANN_Utils.cxx:727 MethodCFMlpANN_Utils.cxx:728 MethodCFMlpANN_Utils.cxx:729 MethodCFMlpANN_Utils.cxx:730 MethodCFMlpANN_Utils.cxx:731 MethodCFMlpANN_Utils.cxx:732 MethodCFMlpANN_Utils.cxx:733 MethodCFMlpANN_Utils.cxx:734 MethodCFMlpANN_Utils.cxx:735 MethodCFMlpANN_Utils.cxx:736 MethodCFMlpANN_Utils.cxx:737 MethodCFMlpANN_Utils.cxx:738 MethodCFMlpANN_Utils.cxx:739 MethodCFMlpANN_Utils.cxx:740 MethodCFMlpANN_Utils.cxx:741 MethodCFMlpANN_Utils.cxx:742 MethodCFMlpANN_Utils.cxx:743 MethodCFMlpANN_Utils.cxx:744 MethodCFMlpANN_Utils.cxx:745 MethodCFMlpANN_Utils.cxx:746 MethodCFMlpANN_Utils.cxx:747 MethodCFMlpANN_Utils.cxx:748 MethodCFMlpANN_Utils.cxx:749 MethodCFMlpANN_Utils.cxx:750 MethodCFMlpANN_Utils.cxx:751 MethodCFMlpANN_Utils.cxx:752 MethodCFMlpANN_Utils.cxx:753 MethodCFMlpANN_Utils.cxx:754 MethodCFMlpANN_Utils.cxx:755 MethodCFMlpANN_Utils.cxx:756 MethodCFMlpANN_Utils.cxx:757 MethodCFMlpANN_Utils.cxx:758 MethodCFMlpANN_Utils.cxx:759 MethodCFMlpANN_Utils.cxx:760 MethodCFMlpANN_Utils.cxx:761 MethodCFMlpANN_Utils.cxx:762 MethodCFMlpANN_Utils.cxx:763 MethodCFMlpANN_Utils.cxx:764 MethodCFMlpANN_Utils.cxx:765 MethodCFMlpANN_Utils.cxx:766 MethodCFMlpANN_Utils.cxx:767 MethodCFMlpANN_Utils.cxx:768 MethodCFMlpANN_Utils.cxx:769 MethodCFMlpANN_Utils.cxx:770 MethodCFMlpANN_Utils.cxx:771 MethodCFMlpANN_Utils.cxx:772 MethodCFMlpANN_Utils.cxx:773 MethodCFMlpANN_Utils.cxx:774 MethodCFMlpANN_Utils.cxx:775 MethodCFMlpANN_Utils.cxx:776 MethodCFMlpANN_Utils.cxx:777 MethodCFMlpANN_Utils.cxx:778 MethodCFMlpANN_Utils.cxx:779 MethodCFMlpANN_Utils.cxx:780 MethodCFMlpANN_Utils.cxx:781 MethodCFMlpANN_Utils.cxx:782 MethodCFMlpANN_Utils.cxx:783 MethodCFMlpANN_Utils.cxx:784 MethodCFMlpANN_Utils.cxx:785 MethodCFMlpANN_Utils.cxx:786 MethodCFMlpANN_Utils.cxx:787 MethodCFMlpANN_Utils.cxx:788 MethodCFMlpANN_Utils.cxx:789 MethodCFMlpANN_Utils.cxx:790 MethodCFMlpANN_Utils.cxx:791 MethodCFMlpANN_Utils.cxx:792 MethodCFMlpANN_Utils.cxx:793 MethodCFMlpANN_Utils.cxx:794 MethodCFMlpANN_Utils.cxx:795 MethodCFMlpANN_Utils.cxx:796 MethodCFMlpANN_Utils.cxx:797 MethodCFMlpANN_Utils.cxx:798 MethodCFMlpANN_Utils.cxx:799 MethodCFMlpANN_Utils.cxx:800 MethodCFMlpANN_Utils.cxx:801 MethodCFMlpANN_Utils.cxx:802 MethodCFMlpANN_Utils.cxx:803 MethodCFMlpANN_Utils.cxx:804 MethodCFMlpANN_Utils.cxx:805 MethodCFMlpANN_Utils.cxx:806 MethodCFMlpANN_Utils.cxx:807 MethodCFMlpANN_Utils.cxx:808 MethodCFMlpANN_Utils.cxx:809 MethodCFMlpANN_Utils.cxx:810 MethodCFMlpANN_Utils.cxx:811 MethodCFMlpANN_Utils.cxx:812 MethodCFMlpANN_Utils.cxx:813 MethodCFMlpANN_Utils.cxx:814 MethodCFMlpANN_Utils.cxx:815 MethodCFMlpANN_Utils.cxx:816 MethodCFMlpANN_Utils.cxx:817 MethodCFMlpANN_Utils.cxx:818 MethodCFMlpANN_Utils.cxx:819 MethodCFMlpANN_Utils.cxx:820 MethodCFMlpANN_Utils.cxx:821 MethodCFMlpANN_Utils.cxx:822 MethodCFMlpANN_Utils.cxx:823 MethodCFMlpANN_Utils.cxx:824 MethodCFMlpANN_Utils.cxx:825 MethodCFMlpANN_Utils.cxx:826 MethodCFMlpANN_Utils.cxx:827 MethodCFMlpANN_Utils.cxx:828 MethodCFMlpANN_Utils.cxx:829 MethodCFMlpANN_Utils.cxx:830 MethodCFMlpANN_Utils.cxx:831 MethodCFMlpANN_Utils.cxx:832 MethodCFMlpANN_Utils.cxx:833 MethodCFMlpANN_Utils.cxx:834 MethodCFMlpANN_Utils.cxx:835 MethodCFMlpANN_Utils.cxx:836 MethodCFMlpANN_Utils.cxx:837 MethodCFMlpANN_Utils.cxx:838 MethodCFMlpANN_Utils.cxx:839 MethodCFMlpANN_Utils.cxx:840 MethodCFMlpANN_Utils.cxx:841 MethodCFMlpANN_Utils.cxx:842 MethodCFMlpANN_Utils.cxx:843 MethodCFMlpANN_Utils.cxx:844 MethodCFMlpANN_Utils.cxx:845 MethodCFMlpANN_Utils.cxx:846 MethodCFMlpANN_Utils.cxx:847 MethodCFMlpANN_Utils.cxx:848 MethodCFMlpANN_Utils.cxx:849 MethodCFMlpANN_Utils.cxx:850 MethodCFMlpANN_Utils.cxx:851 MethodCFMlpANN_Utils.cxx:852 MethodCFMlpANN_Utils.cxx:853 MethodCFMlpANN_Utils.cxx:854 MethodCFMlpANN_Utils.cxx:855 MethodCFMlpANN_Utils.cxx:856 MethodCFMlpANN_Utils.cxx:857 MethodCFMlpANN_Utils.cxx:858 MethodCFMlpANN_Utils.cxx:859 MethodCFMlpANN_Utils.cxx:860 MethodCFMlpANN_Utils.cxx:861 MethodCFMlpANN_Utils.cxx:862 MethodCFMlpANN_Utils.cxx:863 MethodCFMlpANN_Utils.cxx:864 MethodCFMlpANN_Utils.cxx:865 MethodCFMlpANN_Utils.cxx:866 MethodCFMlpANN_Utils.cxx:867 MethodCFMlpANN_Utils.cxx:868 MethodCFMlpANN_Utils.cxx:869 MethodCFMlpANN_Utils.cxx:870 MethodCFMlpANN_Utils.cxx:871 MethodCFMlpANN_Utils.cxx:872 MethodCFMlpANN_Utils.cxx:873 MethodCFMlpANN_Utils.cxx:874 MethodCFMlpANN_Utils.cxx:875 MethodCFMlpANN_Utils.cxx:876 MethodCFMlpANN_Utils.cxx:877 MethodCFMlpANN_Utils.cxx:878 MethodCFMlpANN_Utils.cxx:879 MethodCFMlpANN_Utils.cxx:880 MethodCFMlpANN_Utils.cxx:881 MethodCFMlpANN_Utils.cxx:882 MethodCFMlpANN_Utils.cxx:883 MethodCFMlpANN_Utils.cxx:884 MethodCFMlpANN_Utils.cxx:885 MethodCFMlpANN_Utils.cxx:886 MethodCFMlpANN_Utils.cxx:887 MethodCFMlpANN_Utils.cxx:888 MethodCFMlpANN_Utils.cxx:889 MethodCFMlpANN_Utils.cxx:890 MethodCFMlpANN_Utils.cxx:891 MethodCFMlpANN_Utils.cxx:892 MethodCFMlpANN_Utils.cxx:893 MethodCFMlpANN_Utils.cxx:894 MethodCFMlpANN_Utils.cxx:895 MethodCFMlpANN_Utils.cxx:896 MethodCFMlpANN_Utils.cxx:897 MethodCFMlpANN_Utils.cxx:898 MethodCFMlpANN_Utils.cxx:899 MethodCFMlpANN_Utils.cxx:900 MethodCFMlpANN_Utils.cxx:901 MethodCFMlpANN_Utils.cxx:902 MethodCFMlpANN_Utils.cxx:903 MethodCFMlpANN_Utils.cxx:904 MethodCFMlpANN_Utils.cxx:905 MethodCFMlpANN_Utils.cxx:906 MethodCFMlpANN_Utils.cxx:907 MethodCFMlpANN_Utils.cxx:908 MethodCFMlpANN_Utils.cxx:909 MethodCFMlpANN_Utils.cxx:910 MethodCFMlpANN_Utils.cxx:911 MethodCFMlpANN_Utils.cxx:912 MethodCFMlpANN_Utils.cxx:913 MethodCFMlpANN_Utils.cxx:914 MethodCFMlpANN_Utils.cxx:915 MethodCFMlpANN_Utils.cxx:916 MethodCFMlpANN_Utils.cxx:917 MethodCFMlpANN_Utils.cxx:918 MethodCFMlpANN_Utils.cxx:919 MethodCFMlpANN_Utils.cxx:920 MethodCFMlpANN_Utils.cxx:921 MethodCFMlpANN_Utils.cxx:922 MethodCFMlpANN_Utils.cxx:923 MethodCFMlpANN_Utils.cxx:924 MethodCFMlpANN_Utils.cxx:925 MethodCFMlpANN_Utils.cxx:926 MethodCFMlpANN_Utils.cxx:927 MethodCFMlpANN_Utils.cxx:928 MethodCFMlpANN_Utils.cxx:929 MethodCFMlpANN_Utils.cxx:930 MethodCFMlpANN_Utils.cxx:931 MethodCFMlpANN_Utils.cxx:932 MethodCFMlpANN_Utils.cxx:933 MethodCFMlpANN_Utils.cxx:934 MethodCFMlpANN_Utils.cxx:935 MethodCFMlpANN_Utils.cxx:936 MethodCFMlpANN_Utils.cxx:937 MethodCFMlpANN_Utils.cxx:938 MethodCFMlpANN_Utils.cxx:939 MethodCFMlpANN_Utils.cxx:940 MethodCFMlpANN_Utils.cxx:941 MethodCFMlpANN_Utils.cxx:942 MethodCFMlpANN_Utils.cxx:943 MethodCFMlpANN_Utils.cxx:944 MethodCFMlpANN_Utils.cxx:945 MethodCFMlpANN_Utils.cxx:946 MethodCFMlpANN_Utils.cxx:947 MethodCFMlpANN_Utils.cxx:948 MethodCFMlpANN_Utils.cxx:949 MethodCFMlpANN_Utils.cxx:950 MethodCFMlpANN_Utils.cxx:951 MethodCFMlpANN_Utils.cxx:952 MethodCFMlpANN_Utils.cxx:953 MethodCFMlpANN_Utils.cxx:954 MethodCFMlpANN_Utils.cxx:955 MethodCFMlpANN_Utils.cxx:956 MethodCFMlpANN_Utils.cxx:957 MethodCFMlpANN_Utils.cxx:958 MethodCFMlpANN_Utils.cxx:959 MethodCFMlpANN_Utils.cxx:960 MethodCFMlpANN_Utils.cxx:961 MethodCFMlpANN_Utils.cxx:962 MethodCFMlpANN_Utils.cxx:963 MethodCFMlpANN_Utils.cxx:964 MethodCFMlpANN_Utils.cxx:965 MethodCFMlpANN_Utils.cxx:966 MethodCFMlpANN_Utils.cxx:967 MethodCFMlpANN_Utils.cxx:968 MethodCFMlpANN_Utils.cxx:969 MethodCFMlpANN_Utils.cxx:970 MethodCFMlpANN_Utils.cxx:971 MethodCFMlpANN_Utils.cxx:972 MethodCFMlpANN_Utils.cxx:973 MethodCFMlpANN_Utils.cxx:974 MethodCFMlpANN_Utils.cxx:975 MethodCFMlpANN_Utils.cxx:976 MethodCFMlpANN_Utils.cxx:977 MethodCFMlpANN_Utils.cxx:978 MethodCFMlpANN_Utils.cxx:979 MethodCFMlpANN_Utils.cxx:980 MethodCFMlpANN_Utils.cxx:981 MethodCFMlpANN_Utils.cxx:982 MethodCFMlpANN_Utils.cxx:983 MethodCFMlpANN_Utils.cxx:984 MethodCFMlpANN_Utils.cxx:985 MethodCFMlpANN_Utils.cxx:986 MethodCFMlpANN_Utils.cxx:987 MethodCFMlpANN_Utils.cxx:988 MethodCFMlpANN_Utils.cxx:989 MethodCFMlpANN_Utils.cxx:990 MethodCFMlpANN_Utils.cxx:991 MethodCFMlpANN_Utils.cxx:992 MethodCFMlpANN_Utils.cxx:993 MethodCFMlpANN_Utils.cxx:994 MethodCFMlpANN_Utils.cxx:995 MethodCFMlpANN_Utils.cxx:996 MethodCFMlpANN_Utils.cxx:997 MethodCFMlpANN_Utils.cxx:998 MethodCFMlpANN_Utils.cxx:999 MethodCFMlpANN_Utils.cxx:1000 MethodCFMlpANN_Utils.cxx:1001 MethodCFMlpANN_Utils.cxx:1002 MethodCFMlpANN_Utils.cxx:1003 MethodCFMlpANN_Utils.cxx:1004 MethodCFMlpANN_Utils.cxx:1005 MethodCFMlpANN_Utils.cxx:1006 MethodCFMlpANN_Utils.cxx:1007 MethodCFMlpANN_Utils.cxx:1008 MethodCFMlpANN_Utils.cxx:1009 MethodCFMlpANN_Utils.cxx:1010 MethodCFMlpANN_Utils.cxx:1011 MethodCFMlpANN_Utils.cxx:1012 MethodCFMlpANN_Utils.cxx:1013 MethodCFMlpANN_Utils.cxx:1014 MethodCFMlpANN_Utils.cxx:1015 MethodCFMlpANN_Utils.cxx:1016 MethodCFMlpANN_Utils.cxx:1017 MethodCFMlpANN_Utils.cxx:1018 MethodCFMlpANN_Utils.cxx:1019 MethodCFMlpANN_Utils.cxx:1020 MethodCFMlpANN_Utils.cxx:1021 MethodCFMlpANN_Utils.cxx:1022 MethodCFMlpANN_Utils.cxx:1023 MethodCFMlpANN_Utils.cxx:1024 MethodCFMlpANN_Utils.cxx:1025 MethodCFMlpANN_Utils.cxx:1026 MethodCFMlpANN_Utils.cxx:1027 MethodCFMlpANN_Utils.cxx:1028 MethodCFMlpANN_Utils.cxx:1029 MethodCFMlpANN_Utils.cxx:1030 MethodCFMlpANN_Utils.cxx:1031 MethodCFMlpANN_Utils.cxx:1032 MethodCFMlpANN_Utils.cxx:1033