Changeset 2148 in Sophya for trunk/SophyaLib/Samba


Ignore:
Timestamp:
Jul 31, 2002, 1:42:54 PM (23 years ago)
Author:
ansari
Message:

Adaptation a fmath.h vide (pas de #define fsqrt() fabsf() , Reza 31/7/2002

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaLib/Samba/bruit.cc

    r1783 r2148  
    3737//--
    3838
     39// Definition de fonctions pour float - a changer en utilisant cmath
     40//                              Reza Juillet 2002
     41inline float _myfabsf(float x) { return ((float)(fabs((double)x)) ); }
     42inline float _mysqrtf(float x) { return ((float)(sqrt((double)x)) ); }
     43 
    3944/* --Methode-- */
    4045//++
     
    345350//++
    346351MemNoise::MemNoise(float sigma, int mem, float tau, int ava)
    347     : NoiseGenerator(sqrtf(fabsf(tau))*sigma)
     352    : NoiseGenerator(_mysqrtf(_myfabsf(tau))*sigma)
    348353//
    349354//--
     
    468473        if(mStPos[i]==0.)continue;
    469474        //      printf("i,temps,bruit %d,%g,%g \n",i,mTePos[i],mStPos[i]);
    470         Somme = mStPos[i]/sqrtf(mTePos[i]);
     475        Somme = mStPos[i]/_mysqrtf(mTePos[i]);
    471476            SbaryT = mStPos[i] * mTePos[i];
    472477            Poids = mStPos[i];
     
    474479                {
    475480                    //          printf("  j,temps,bruit %d,%g,%g \n",j,mTePos[j],mStPos[j]);
    476                 Somme += mStPos[j]/sqrtf(mTePos[j]);
     481                Somme += mStPos[j]/_mysqrtf(mTePos[j]);
    477482                    Poids += mStPos[j];
    478483                    SbaryT += mStPos[j] * mTePos[j];
    479484                    BaryT = SbaryT / Poids;
    480                     Approx = Poids / sqrtf(BaryT);
     485                    Approx = Poids / _mysqrtf(BaryT);
    481486                    Erreur = (Approx - Somme) / Somme;
    482                     //                              printf("i,j = %d %d Approx = %g \n",i,j,fabsf(Erreur));
     487                    //                              printf("i,j = %d %d Approx = %g \n",i,j,_myfabsf(Erreur));
    483488                    //              printf("Temps,Bruit = %g %g \n",BaryT,Poids);
    484                     if(fabsf(Erreur)<epsilon)
     489                    if(_myfabsf(Erreur)<epsilon)
    485490                        {
    486491                            mStPos[i]=Poids;
     
    521526        if(mStNeg[i]==0.)continue;
    522527        //      printf("i,temps,bruit %d,%g,%g \n",i,mTeNeg[i],mStNeg[i]);
    523         Somme = mStNeg[i]/sqrtf(mTeNeg[i]);
     528        Somme = mStNeg[i]/_mysqrtf(mTeNeg[i]);
    524529            SbaryT = mStNeg[i] * mTeNeg[i];
    525530            Poids = mStNeg[i];
     
    527532                {
    528533                    //          printf("  j,temps,bruit %d,%g,%g \n",j,mTeNeg[j],mStNeg[j]);
    529                 Somme += mStNeg[j]/sqrtf(mTeNeg[j]);
     534                Somme += mStNeg[j]/_mysqrtf(mTeNeg[j]);
    530535                    Poids += mStNeg[j];
    531536                    SbaryT += mStNeg[j] * mTeNeg[j];
    532537                    BaryT = SbaryT / Poids;
    533                     Approx = Poids / sqrtf(BaryT);
     538                    Approx = Poids / _mysqrtf(BaryT);
    534539                    Erreur = (Approx - Somme) / Somme;
    535540                    //              printf("i,j = %d %d Approx = %g \n",i,j,Erreur);
    536541                    //              printf("Temps,Bruit = %g %g \n",BaryT,Poids);
    537                     if(fabsf(Erreur)<epsilon)
     542                    if(_myfabsf(Erreur)<epsilon)
    538543                        {
    539544                            mStNeg[i]=Poids;
     
    588593}
    589594// float ajout=0.;
    590 for(i=indlim; i < mMemPos-1; i++)  rn += mStPos[i]/sqrtf(mTePos[i]);
     595for(i=indlim; i < mMemPos-1; i++)  rn += mStPos[i]/_mysqrtf(mTePos[i]);
    591596indlim=0;
    592597for(i=0; i < mMemNeg-1; i++)
     
    596601indlim++;
    597602}
    598 for(i=indlim; i < mMemNeg-1; i++) rn += mStNeg[i]/sqrtf(mTeNeg[i]);
     603for(i=indlim; i < mMemNeg-1; i++) rn += mStNeg[i]/_mysqrtf(mTeNeg[i]);
    599604}
    600605}
     
    649654// Je calcule les sigma du MemNoise d'apres la formule de Francois
    650655// mn = new MemNoise(sig*fknee); 
    651 // mn = new MemNoise(1.4142*sig*sqrtf(fknee),1,10.,1000000); // modif appel FC 13 mai 98. 
     656// mn = new MemNoise(1.4142*sig*_mysqrtf(fknee),1,10.,1000000); // modif appel FC 13 mai 98. 
    652657mn = new MemNoise(1.4142*sig*sqrt((double)fknee),mem,tau,12000); // FC 13 mai 98. -> Reza 1/12/99
    653658}
Note: See TracChangeset for help on using the changeset viewer.