> Try compiling with -ffloat-store then report back. google for
> "float-store excess precision gcc" to understand why this may help.


Did you try disassembling the code? As I'm sure you know, only java AFAIK 
guarantees
certain reproducible behaviour for floating point. If you change the 
optimization or
debug, all the results could change. You shouldn't do floating equality tests 
but I appreciate
your concern. 

Which, if either, of these results are accurate or match the MAC?

You can take a look at the docs at intel to get some idea of the floating point 
situation
on your processor, they have good online ia32 architecture details.



Mike Marchywka
586 Saint James Walk
Marietta GA 30067-7165
415-264-8477 (w)<- use this
404-788-1216 (C)<- leave message
989-348-4796 (P)<- emergency only
[EMAIL PROTECTED]
Note: If I am asking for free stuff, I normally use for hobby/non-profit
information but may use in investment forums, public and private.
Please indicate any concerns if applicable.
Note: Hotmail is possibly blocking my mom's entire
ISP - try  me on [EMAIL PROTECTED] if no reply
here. Thanks.



> From: [EMAIL PROTECTED]
> To: cygwin@cygwin.com
> Date: Mon, 4 Aug 2008 07:29:14 -0700
> Subject: Re: cygwin gcc: Different numerical results in thread vs in main()
>
> Thanks for the helpful information, David. Oddly, -ffloat-store doesn't seem 
> to make any difference:
>
> [c:\projects\threads]gcc -ffloat-store -o thread1 thread1.c -lpthread
>
> [c:\projects\threads]thread1
> Main: t/1+t = 0.0005609048868329022342546
> Thread 0: t/1+t = 0.0005609048868329021258344
> Thread 1: t/1+t = 0.0005609048868329021258344
> Thread 2: t/1+t = 0.0005609048868329021258344
> Thread 3: t/1+t = 0.0005609048868329021258344
>
> -----Original Message-----
> From: Billinghurst, David (RTATECH) [mailto:[EMAIL PROTECTED]
> Sent: Sunday, August 03, 2008 10:16 PM
> To: Richard Stanton
> Subject: RE: cygwin gcc: Different numerical results in thread vs in main()
>
> Try compiling with -ffloat-store then report back. google for
> "float-store excess precision gcc" to understand why this may help.
>
> I don't recommend -ffloat-store as a fix, but it can help diagnose the 
> problem.
>
> David
>
>> -----Original Message-----
>> From: [EMAIL PROTECTED]
>> [mailto:[EMAIL PROTECTED] On Behalf Of Richard Stanton
>> Sent: Monday, 4 August 2008 15:03
>> To: cygwin@cygwin.com
>> Subject: cygwin gcc: Different numerical results in thread vs in
>> main()
>>
>> The following program performs exactly the same calculation 5 times,
>> once inside main(), and again in 4 thread functions.
>> Though the calculations are identical, the results are not.
>> When I compile and run the same program on my Mac, all the results are
>> identical. By the way, this is using the latest gcc 3.4.4.
>>
>> Richard Stanton
>>
>> ------------------
>>
>> [c:\projects\threads]thread1
>> Main: t/1+t = 0.0005609048868329022342546
>> Thread 0: t/1+t = 0.0005609048868329021258344
>> Thread 1: t/1+t = 0.0005609048868329021258344
>> Thread 2: t/1+t = 0.0005609048868329021258344
>> Thread 3: t/1+t = 0.0005609048868329021258344
>>
>>
>> #include 
>> #include 
>>
>> #define NUM_THREADS 4
>>
>> double t = 0.0005612196776927068104374;
>>
>> void * thread_function (void *arg)
>> {
>> int i;
>> int id = *((int *)arg);
>>
>> printf("Thread %d: t/1+t = %30.25lf\n", id, t/(1.0+t));
>>
>> return NULL;
>> }
>>
>>
>> int main()
>> {
>> int i;
>> int arg[NUM_THREADS] = {0,1,2,3};
>> pthread_t thread[NUM_THREADS];
>> pthread_attr_t attr;
>>
>> printf("Main: t/1+t = %30.25lf\n", t/(1.0+t));
>>
>> /* initialize and set the thread attributes */
>> pthread_attr_init( &attr );
>> pthread_attr_setdetachstate( &attr, PTHREAD_CREATE_JOINABLE );
>>
>> /* creating threads */
>> for ( i=0; i> if ( pthread_create( &thread[i], &attr, thread_function,
>> (void *)&arg[i] )) {
>> fprintf(stderr,"Creating thread %d failed!",i);
>> return 1;
>> }
>> }
>>
>> /* joining threads (== waiting for them to exit) */
>> for ( i=0; i> if ( pthread_join ( thread[i], NULL ) ) {
>> fprintf(stderr,"Joing thread %d failed!",i);
>> return 1;
>> }
>> }
>>
>> return 0;
>> }
>
>
> --
> Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
> Problem reports: http://cygwin.com/problems.html
> Documentation: http://cygwin.com/docs.html
> FAQ: http://cygwin.com/faq/
>

_________________________________________________________________
Got Game? Win Prizes in the Windows Live Hotmail Mobile Summer Games Trivia 
Contest
http://www.gowindowslive.com/summergames?ocid=TXT_TAGHM

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply via email to