Aidez moi svp, je veux comprendre un code!!!!!

Signaler
Messages postés
117
Date d'inscription
vendredi 10 février 2006
Statut
Membre
Dernière intervention
30 mars 2012
-
Messages postés
117
Date d'inscription
vendredi 10 février 2006
Statut
Membre
Dernière intervention
30 mars 2012
-
bonjour,
je veux compendre ce que fait la fonction suivante :
normalement la fonction est censée faire unecomparaison entre deux objets modelSO et requestSO
ce que je veux comprendre et comment la fonction fait lacomparaison, je suis debutant et je ne comprend pas ce que veux dire les lignes  //?????????????????????????

ce que j'ai compris est quela foction utilise 3 criteres pour la comparaison
float

compareSubObjectsNoSizePos(
const ModelSubObject& modelSO,
const RequestSubObject& requestSO){

float belief = e_constants.beliefCoefART * compare(modelSO.m_art, requestSO.m_art);

if (belief < minBelief)

return nullBelief; // ici s'arrete la comparaison????
#if

USE_DEBUG //????????????????????????

if (DEBUG_BELIEF_REQUEST_NOSIZEPOS >= 2)printf("ART belief: %.3f\n", belief / e_constants.beliefCoefART);

#endif //?????????????????????????

belief = normalizeBelief(belief);

float beliefTemp = e_constants.beliefCoefCSS * compare(modelSO.m_css, requestSO.m_css);

if (beliefTemp < minBelief)

return nullBelief;
#if

USE_DEBUG //??????????????????????

if (DEBUG_BELIEF_REQUEST_NOSIZEPOS >= 2)printf("CSS belief: %.3f\n", beliefTemp / e_constants.beliefCoefCSS);

#endif//?????????????????????

beliefTemp = normalizeBelief(beliefTemp);

ADD_BELIEF(belief, beliefTemp);

#if

USE_DEBUG

if (DEBUG_BELIEF_REQUEST_NOSIZEPOS >= 1)printf("(M%d - R%d) Belief without size/pos: %.3f\n", modelSO.getId(), requestSO.getId(), belief);

#endif

return belief;}

merci pour tt eclaircicement

4 réponses

Messages postés
492
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2012
1
float compareSubObjectsNoSizePos(
const ModelSubObject& modelSO,
const RequestSubObject& requestSO)




{




float
belief = e_constants.beliefCoefART * compare(modelSO.m_art, requestSO.m_art);




if
(belief < minBelief)


  return
nullBelief; // ici s'arrete la comparaison????  --> oui si

belief < minBelief




#if USE_DEBUG --> si USE_DEBUG est definit ( /DUSE_DEBUG à la compilation sous vc) si c'est le cas tout ce qui est compris entre cette ligne et #endif sera compilé, sinon ce code ne sera tout simplement pas compilé



if
(DEBUG_BELIEF_REQUEST_NOSIZEPOS >= 2)printf("ART belief: %.3f\n", belief / e_constants.beliefCoefART);



#endif --> le fameux #endif




belief = normalizeBelief(belief);




float
beliefTemp = e_constants.beliefCoefCSS * compare(modelSO.m_css, requestSO.m_css);

if
(beliefTemp < minBelief)

return
nullBelief;


#if USE_DEBUG
--> pareil



if (DEBUG_BELIEF_REQUEST_NOSIZEPOS >= 2)




printf("CSS belief: %.3f\n", beliefTemp / e_constants.beliefCoefCSS);





#endif--> pareil aussi




beliefTemp = normalizeBelief(beliefTemp);


ADD_BELIEF(belief, beliefTemp);





#if USE_DEBUG



if (DEBUG_BELIEF_REQUEST_NOSIZEPOS >= 1)




  printf("(M%d - R%d) Belief without size/pos: %.3f\n", modelSO.getId(), requestSO.getId(), belief);





#endif



return
belief;}



TuRn3r
Messages postés
117
Date d'inscription
vendredi 10 février 2006
Statut
Membre
Dernière intervention
30 mars 2012

si j'ai bien compris si la premiere condition n'est pas verfier (if(belief < minBelief) la comparaison s'arrete pareil pourl deuxieme etla troisieme

comment dois etre definie USE_DEBUG  dans le programme ? je suppose avec
# define USE_DEBUG  ????
merci d'avance
Messages postés
492
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2012
1
avec #define USE_DEBUG ou /DUSE_DEBUG sur la ligne de compilation sous vc ton prog ressemble à ca





float compareSubObjectsNoSizePos(const ModelSubObject& modelSO, const RequestSubObject& requestSO)
{
  float belief = e_constants.beliefCoefART * compare(modelSO.m_art, requestSO.m_art);
 
  if (belief < minBelief)
    return nullBelief;
 
  if (DEBUG_BELIEF_REQUEST_NOSIZEPOS >= 2)
    printf("ART belief: %.3f\n", belief / e_constants.beliefCoefART);
 
  belief = normalizeBelief(belief);
  float beliefTemp = e_constants.beliefCoefCSS * compare(modelSO.m_css, requestSO.m_css);

  if (beliefTemp < minBelief)
    return nullBelief;
 
  if (DEBUG_BELIEF_REQUEST_NOSIZEPOS >= 2)
    printf("CSS belief: %.3f\n", beliefTemp / e_constants.beliefCoefCSS);
 
  beliefTemp = normalizeBelief(beliefTemp);
 
  ADD_BELIEF(belief, beliefTemp);
 
  if (DEBUG_BELIEF_REQUEST_NOSIZEPOS >= 1)
    printf("(M%d - R%d) Belief without size/pos: %.3f\n", modelSO.getId(), requestSO.getId(), belief);
 
  return belief;
}





<hr size="2" width="100%" />Sans ce define, voici comment sera ton code

float compareSubObjectsNoSizePos(const ModelSubObject& modelSO, const RequestSubObject& requestSO)
{
  float belief = e_constants.beliefCoefART * compare(modelSO.m_art, requestSO.m_art);
 
  if (belief < minBelief)
    return nullBelief;
 
  belief = normalizeBelief(belief);
  float beliefTemp = e_constants.beliefCoefCSS * compare(modelSO.m_css, requestSO.m_css);

  if (beliefTemp < minBelief)
    return nullBelief;
 
  beliefTemp = normalizeBelief(beliefTemp);
 
  ADD_BELIEF(belief, beliefTemp);
 
  return belief;
}

TuRn3r
Messages postés
117
Date d'inscription
vendredi 10 février 2006
Statut
Membre
Dernière intervention
30 mars 2012

c'esttres bien expliquer merci