X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Received: by 10.224.55.200 with SMTP id v8mr21743527qag.7.1373227141627; Sun, 07 Jul 2013 12:59:01 -0700 (PDT) X-Received: by 10.50.9.7 with SMTP id v7mr2248653iga.2.1373227141587; Sun, 07 Jul 2013 12:59:01 -0700 (PDT) Newsgroups: comp.os.msdos.djgpp Date: Sun, 7 Jul 2013 12:59:01 -0700 (PDT) Complaints-To: groups-abuse AT google DOT com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=71.34.83.153; posting-account=jrLHRgkAAABPV01ZW_RN_U6Tm5UnYNUx NNTP-Posting-Host: 71.34.83.153 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: CLOCKS_PER_SEC of time.h doesn't work to prove it is a value for one second From: "K.J.Williams" Injection-Date: Sun, 07 Jul 2013 19:59:01 +0000 Content-Type: text/plain; charset=ISO-8859-1 Bytes: 2725 Lines: 61 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id r67KF3uE032127 Reply-To: djgpp AT delorie DOT com I tried a program that I found on the internet which calculates how many CLOCKS_PER_SEC are in one second. I compiled and ran the program on two different computers but got the same result. Then I took a look at time.h and found how CLOCKS_PER_SEC was implemented for DJGPP (I added this as a comment in the code code). I posted this code here because CLOCKS_PER_SEC is implementation defined stated by the ISO C standard. The original source code is from : http://www.acm.uiuc.edu/webmonkeys/book/c_guide/2.15.html#variables see "2.15.3 clock" heres my file: clocks_1.c #include #include /* a documentation note in DJGPP's time.h file states: 65536(tics/hour) / 3600(sec/hour) * 5(scale) = 91.02 The 5 is to make it a whole number (18.2*5=91) so that floating point ops aren't required to use it. #define CLOCKS_PER_SEC 91 */ int main(void) { clock_t ticks1, ticks2; ticks1=clock(); ticks2=ticks1; while((ticks2/CLOCKS_PER_SEC-ticks1/CLOCKS_PER_SEC)<1) ticks2=clock(); printf("Took %ld ticks to wait one second.\n",ticks2-ticks1); printf("This value should be the same as CLOCKS_PER_SEC which is %ld.\n",CLOCKS_PER_SEC); return 0; } (eof) Output ( binary tested on two different PC computers ): Took 95 ticks to wait one second. This value should be the same as CLOCKS_PER_SEC which is 91. So... 95 ticks is not equal to CLOCKS_PER_SEC. Is the documentation note in time.h a using a correct calculation to determine CLOCKS_PER_SEC's value? Thanks