Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!border3.nntp.dca.giganews.com!Xl.tags.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local2.nntp.dca.giganews.com!nntp.earthlink.com!news.earthlink.com.POSTED!not-for-mail NNTP-Posting-Date: Thu, 05 Apr 2012 08:03:05 -0500 Message-ID: <4F7D9807.1D82@mindspring.com> Date: Thu, 05 Apr 2012 09:03:03 -0400 From: pete Reply-To: pfiland@mindspring.com Organization: PF X-Mailer: Mozilla 3.04Gold (WinNT; I) MIME-Version: 1.0 Newsgroups: comp.lang.c Subject: Re: Odd benchmark behavior References: <9talg3F84gU1@mid.individual.net> <4f70351c$0$1385$4fafbaef@reader2.news.tin.it> <4f703bfa$0$1386$4fafbaef@reader2.news.tin.it> <4f71688a$0$1383$4fafbaef@reader2.news.tin.it> <4f716921$0$1383$4fafbaef@reader2.news.tin.it> <4F727C20.5A49@mindspring.com> <4f7d7076$0$1379$4fafbaef@reader2.news.tin.it> <4F7D788E.45B9@mindspring.com> <4f7d8b0e$0$1385$4fafbaef@reader1.news.tin.it> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 56 X-Usenet-Provider: http://www.giganews.com NNTP-Posting-Host: 4.156.228.24 X-Trace: sv3-MrkmGQg2siXh17U4RiTFeu888VzS00gB31Sbwc9qzOIjoTGZKYgSTxF598HaNmmTKHwqkdqrwo/TRFy!On3PPSZn5dY9EojGv//Cba7oAP2RPDdjkMWYKg+TmTLfoWS3wN08PMLqs+0PwXDlGwE3dzGfcF+K!BZ+++NtuTg== X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.40 X-Original-Bytes: 2907 Xref: csiph.com comp.lang.c:19359 io_x wrote: > > "pete" ha scritto nel messaggio > news:4F7D788E.45B9@mindspring.com... > > io_x wrote: > >> > >> "pete" ha scritto nel messaggio > >> news:4F727C20.5A49@mindspring.com... > >> > io_x wrote: > >> >> > >> >> "io_x" ha scritto nel messaggio > >> >> news:4f71688a$0$1383$4fafbaef@reader2.news.tin.it... > >> >> > >> >> there is someone that know if (unsigned) sqrt(9.0) can be > >> >> follow the C standard the unsigned 2??? > >> >> Thank you > >> > > >> > You could do it this way instead: > >> > > >> > la: > >> > v = p; > >> > for (i = ((1 == v) + v) / 2; v > i; i = (p / v + v) / 2) { > >> > v = i; > >> > } > > This is the code that you wrote: > > #define u32 uint32_t > > u32 i, p, cnt, v; > > There are no float numbers in that code. > why this print the wrong result?? > {double v, i; That print the wrong result because you changed the code to make it wrong. You already defined (v), (p) and (i) to be all integes, in your function u32 FindNPrime(u32 pos) The code that I wote, is supposed to be used by you to replace the line of code that you wrote at the label la: la: r=p; v=sqrt(r); After the line with the lable la: What you want is for (v) to be equal to the greatest integer with a value less than or equal to the square root of (p). My suggestion was for you to replace the floating point math in your FindNPrime function with integer math. -- pete