Hello,
I apologize for bringing here non-root problem but I discovered it in my root
program and also tested with a stand alone C Program.
I attached the simple program to the email and printed at the end ... The
problem is, when I convert a float to int, I have value offset.
Below you can see some examples. The problem appears between 113 and 119.
I used g++ -o tt tt.cc to complie the attached program and run it.
I am very puzzled and thought maybe you can help on this.
Best Regards,
aa=110 int(aa)=110 ceil(aa)=110 floor(aa)=110 aa=111 int(aa)=111 ceil(aa)=112 floor(aa)=111 aa=112 int(aa)=112 ceil(aa)=113 floor(aa)=112 aa=113 int(aa)=112 ceil(aa)=113 floor(aa)=112 aa=114 int(aa)=113 ceil(aa)=114 floor(aa)=113 aa=115 int(aa)=114 ceil(aa)=115 floor(aa)=114 aa=116 int(aa)=115 ceil(aa)=116 floor(aa)=115 aa=117 int(aa)=116 ceil(aa)=117 floor(aa)=116aa=118 int(aa)=117 ceil(aa)=118 floor(aa)=117 aa=119 int(aa)=118 ceil(aa)=119 floor(aa)=118
aa=120 int(aa)=120 ceil(aa)=120 floor(aa)=120 aa=121 int(aa)=121 ceil(aa)=121 floor(aa)=121 aa=122 int(aa)=122 ceil(aa)=122 floor(aa)=122 aa=123 int(aa)=123 ceil(aa)=123 floor(aa)=123 aa=124 int(aa)=124 ceil(aa)=124 floor(aa)=124 aa=125 int(aa)=125 ceil(aa)=125 floor(aa)=125 aa=126 int(aa)=126 ceil(aa)=126 floor(aa)=126 aa=127 int(aa)=127 ceil(aa)=127 floor(aa)=127 aa=128 int(aa)=128 ceil(aa)=128 floor(aa)=128#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <iomanip>
double aa = W/W_width ;
cout<<"aa="<<aa<<" int(aa)="<<int(aa)<<" ceil(aa)="<<ceil(aa)<<"
floor(aa)="<<floor(aa)<<endl;
return int(aa);
}
int main(int argc, char** argv)
{
double val=1.15;
if(argc>1) val=atof(argv[1]);
GetWIndex(val,0.0,0.01);
return 0;
}
Nevzat Guler
This archive was generated by hypermail 2.2.0 : Fri Apr 25 2008 - 05:50:03 CEST