Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tascabile e con Android: BOOX Go 6 Gen II è diverso da tutti gli altri e-reader
Tascabile e con Android: BOOX Go 6 Gen II è diverso da tutti gli altri e-reader
BOOX Go 6 Gen II porta per la prima volta il supporto allo stilo su un e-reader da 6 pollici, affiancando 3 GB di RAM al collaudato Snapdragon 665 e un design rivisto con scocca posteriore a costolature. Su carta la proposta è interessante, ma Android 11 fuori supporto, l'assenza di un alloggiamento per il pennino e un'autonomia ridotta rispetto agli e-reader tradizionali sono i compromessi da accettare
Recensione Lenovo Idea Tab Plus: il tablet da 12 pollici che costa meno di 300 euro
Recensione Lenovo Idea Tab Plus: il tablet da 12 pollici che costa meno di 300 euro
Lenovo Idea Tab Plus prova a portare un display da 12,1 pollici 2.5K, quattro speaker Dolby Atmos e una batteria da 10.200 mAh sotto la soglia psicologica dei 300 euro, penna inclusa. Lo abbiamo usato per oltre una settimana per capire dove l'azienda ha tagliato e dove invece ha tenuto il punto
Oltre il contante e le crypto: tutto sull'Euro Digitale e la nuova sovranità monetaria europea
Oltre il contante e le crypto: tutto sull'Euro Digitale e la nuova sovranità monetaria europea
L'euro digitale è una valuta fiat che entrerà in vigore nei prossimi anni. L'obiettivo principale è quello di ridurre la dipendenza dalle piattaforme di pagamento digitali statunitensi e offrire ai cittadini un modo semplice per trasferire denaro. Anche offline, anche in maniera (pseudo)anonima
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-06-2011, 15:07   #1
cndcnd
Junior Member
 
Iscritto dal: Feb 2011
Messaggi: 13
risultati numerici diversi su diverse piattaforme

Ciao,

il mio problema è il seguente. Il mio programma in c++, compilato con

- gcc su windows
- gcc -pg su windows
- microsoft visula studio su windows
- gcc su linux

fornisce risultai numerici leggermente diversi. Qualcuno sa dirmi dove potrebbe essere il problema?

Grazie,

Alessandro
cndcnd è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2011, 15:09   #2
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
faresti meglio a pastare il codice, ma se cambia già solo compilando con -pg forse usi qualche variabile non inizializzata?
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2011, 15:25   #3
cndcnd
Junior Member
 
Iscritto dal: Feb 2011
Messaggi: 13
// ellissoid: semi-axes, centre and displacement
hex=cve->hex; kx=2*DPLMAX/2; dx=(int)cve->hex+cve->dpl[0].xx;
hey=cve->hey; ky=2*DPLMAX/2; dy=(int)cve->hey+cve->dpl[7].yy;
hez=cve->hez; kz=2*DPLMAX/2; dz=(int)cve->hez+cve->dpl[0].zz;
// xxxx
fvx=1; //fvx=(1.00+(0.33*(float)edp->cgare[ci].cgo.dgd[7]/63));
fvy=1; //fvy=(1.00+(0.33*(float)edp->cgare[ci].cgo.dgd[7]/63));
fvz=1; //fvz=(1.00+(0.33*(float)edp->cgare[ci].cgo.dgd[7]/63));
// xxxx
for(bz=(kz-(int)hez-1);bz<(kz+(int)hez+1);bz++)
for(by=(ky-(int)hey-1);by<(ky+(int)hey+1);by++)
for(bx=(kx-(int)hex-1);bx<(kx+(int)hex+1);bx++) {
cve->buf0[bx][by][bz]=6; // no signal
// ellissoid
if((pow((bx-kx)/(hex*fvx),2)+pow((by-ky)/(hey*fvy),2)+pow((bz-kz)/(hez*fvz),2))<=1) {
if((edp->cgare[ci].cgo.ms0==1)||(edp->cgare[ci].cgo.ms0==3))
cve->buf0[bx][by][bz]=7; // normal signal
if( edp->cgare[ci].cgo.ms0==2)
cve->buf0[bx][by][bz]=8; // delete signal
if((edp->cgare[ci].cgo.ms0==1)||(edp->cgare[ci].cgo.ms0==3))
if((bx%NDQXXX==0)&&(by%NDQXXX==0)&&(bz%NDQXXX==0))
cve->buf0[bx][by][bz]=9; // driver signal
ivaro=0;
}
}


Questo è un primo pezzo sospetto. Forse le pow danno risultati diversi su diverse piattaforme Questo è un altro pezzo sospetto:

for(ix=0;ix<2;ix++)
for(iy=0;iy<2;iy++)
for(iz=0;iz<2;iz++)
for(bz=(kz-(int)hez-1);bz<(kz+(int)hez+1);bz++)
for(by=(ky-(int)hey-1);by<(ky+(int)hey+1);by++)
for(bx=(kx-(int)hex-1);bx<(kx+(int)hex+1);bx++) {
if((bx==0)&&(by==0)&&(bz==0)) first=YA; else first=NO;
bufval=cve->buf0[bx][by][bz];
if(bufval!=6) {
if(ix==0) ax=vx+dx+(int)floor(cve->rt[0]*(bx-kx)+cve->rt[1]*(by-ky)+cve->rt[2]*(bz-kz));
else ax=vx+dx+(int)ceil (cve->rt[0]*(bx-kx)+cve->rt[1]*(by-ky)+cve->rt[2]*(bz-kz));
if(iy==0) ay=vy+dy+(int)floor(cve->rt[3]*(bx-kx)+cve->rt[4]*(by-ky)+cve->rt[5]*(bz-kz));
else ay=vy+dy+(int)ceil (cve->rt[3]*(bx-kx)+cve->rt[4]*(by-ky)+cve->rt[5]*(bz-kz));
if(iz==0) az=vz+dz+(int)floor(cve->rt[6]*(bx-kx)+cve->rt[7]*(by-ky)+cve->rt[8]*(bz-kz));
else az=vz+dz+(int)ceil (cve->rt[6]*(bx-kx)+cve->rt[7]*(by-ky)+cve->rt[8]*(bz-kz));
if((ax<0)||(ax>=GRIDXX)||(ay<0)||(ay>=GRIDYY)||(az<0)||(az>=GRIDZZ))
goto GTLBBB;
if((bufval==7)||(bufval==8)) { //normal (7) or delete (8) signal
if(bufval==7) { Moccopy(&moc[0],&mocmother[0]); clcnd=CLSLEEP; }
if(bufval==8) { Moccopy(&moc[0],&edp->moc0[0]); clcnd=CLNOCL0; }
if(done==YA) goto GTLAAA;
if(bufval==7) { cve->smocnew=+1; } // normal
if(bufval==8) { cve->smocnew=-1; } // delete
Dharupd(thid,cve,gi,&edp->cgare[ci],&moc[0],as,0,NO,edp->moclp.marko);
done=YA;
GTLAAA:cvar=cvar;
Daughter(thid,cve,gi,ci,ax,ay,az,clcnd,NO,dhnrnor,edp->moclp.marko);
Dthrmnet(thid,cve,gi,ci,ax,ay,az,clcnd,NO,dhnrnor,edp->moclp.marko);
}
if((ix==1)&&(iy==1)&&(iz==1)) // last cycle to avoid drv get cancelled
if((bufval==9)||(first==YA)) { // driver signal
cve->smocnew++; clcnd=CLSLEEP; // also on mother pos, just once
Moccopy(&moc[0],&mocmother[0]);
Dharupd(thid,cve,gi,&edp->cgare[ci],&moc[0],as,1,YA,edp->moclp.marko);
if(bufval==9) { qx=ax; qy=ay; qz=az; }
if(first==YA) { qx=vx; qy=vy; qz=vz; }
Daughter(thid,cve,gi,ci,qx,qy,qz,clcnd,YA,-1,edp->moclp.marko);
Dthrmnet(thid,cve,gi,ci,qx,qy,qz,clcnd,YA,-1,edp->moclp.marko);
}
GTLBBB:cvar=cvar;
}
}


Anche qui, forse la floor e la ceil sono piattaforma-dipendenti. Se cambio la precisione di alcune variabili, portandole da float a double, i risultati cambiano ancora. Boh!
cndcnd è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tascabile e con Android: BOOX Go 6 Gen II è diverso da tutti gli altri e-reader Tascabile e con Android: BOOX Go 6 Gen II &egrav...
Recensione Lenovo Idea Tab Plus: il tablet da 12 pollici che costa meno di 300 euro Recensione Lenovo Idea Tab Plus: il tablet da 12...
Oltre il contante e le crypto: tutto sull'Euro Digitale e la nuova sovranità monetaria europea Oltre il contante e le crypto: tutto sull'Euro D...
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere? Recensione HONOR Magic V6: spessore record e sup...
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni Redmi Pad 2 9.7: ampio display, economico e peso...
Piccolo è bello: Cisco presenta A...
Z.AI avvia un data center da 1 gigawatt....
Microsoft e Mistral annunciano un accord...
Grazie al Very Large Telescope potrebbe ...
Sony FX5: RAW interno X-OCN e Open Gate ...
AMD e Anthropic, affare fatto: 5 miliard...
Cyber Arena Tour 2026, WINDTRE BUSINESS ...
Wistron ha aperto il primo stabilimento ...
"Così è facile perder...
Peak Design ripensa la staffa a L: il tr...
Samsung: ufficiale la serie Galaxy Z Fol...
Galaxy Watch Ultra2 e Watch9 ufficiali: ...
Un razzo spaziale Falcon 9 ha lanciato l...
Microlino: dal rischio di fallimento all...
SpaceX, uno stadio di Falcon 9 si schian...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 19:03.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v