Please, someone could try this with gcc 4.4.0 in Linux.
Is only for historical reasons and curiosity :)
What is the output, of course if it works?
My output in Win with 3.4.5 is .-

MinGW GNU C 3.4.5 (32-bit) => ndbRes == -0.0000000000000002 ndbRes == 0 is .F.
error: decimal floating point not supported for this target.

--
Xavi



Procedure Main()

  ? Test_C_Compiler_W()
  ? Test_C_Compiler_X()

  Wait
return

#pragma BEGINDUMP
#include "hbapi.h"

HB_FUNC( TEST_C_COMPILER_W )
{
   char cMsg[ 4096 ];
   double ndbRes;

   ndbRes  = 3.05;
   ndbRes -= 1.55;
   ndbRes -= 1.50;
   /*       -----
             0.00  */

   snprintf( cMsg, sizeof(cMsg), "%s => ndbRes == %.16f ndbRes == 0 is %s \n",
               hb_verCompiler(), ndbRes, (ndbRes == 0 ? ".T." : ".F.") );

   hb_retc( cMsg );
}

HB_FUNC( TEST_C_COMPILER_X )
{
   char cMsg[ 4096 ];
   _Decimal64 decRes;

   decRes  = 3.05dd;
   decRes -= 1.55dd;
   decRes -= 1.50dd;
   /*       -----
             0.00  */

   snprintf( cMsg, sizeof(cMsg), "%s => decRes == %.16DFf decRes == 0 is %s \n",
               hb_verCompiler(), decRes, (decRes == 0 ? ".T." : ".F.") );

   hb_retc( cMsg );
}
#pragma ENDDUMP

_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to