delorie.com/archives/browse.cgi | search |
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: | <fd60497c-48ca-47ee-aefa-191f026fd3c1@googlegroups.com> |
Subject: | CLOCKS_PER_SEC of time.h doesn't work to prove it is a value for one second |
From: | "K.J.Williams" <lordwilliams1972 AT gmail DOT com> |
Injection-Date: | Sun, 07 Jul 2013 19:59:01 +0000 |
Bytes: | 2725 |
Lines: | 61 |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
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<time.h> #include<stdio.h> /* 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
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |