1 /* Copyright (C) 1996, 1998, 2001 Free Software Foundation, Inc.
2 This file is part of GNU Fortran libU77 library.
4 This library is free software; you can redistribute it and/or modify it
5 under the terms of the GNU Library General Public License as published
6 by the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
9 GNU Fortran is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
14 You should have received a copy of the GNU Library General Public
15 License along with GNU Fortran; see the file COPYING.LIB. If
16 not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 Boston, MA 02111-1307, USA. */
22 #include <sys/types.h>
24 # include <sys/param.h>
26 #if TIME_WITH_SYS_TIME
27 # include <sys/time.h>
31 # include <sys/time.h>
37 # include <sys/times.h>
43 #include <errno.h> /* for ENOSYS */
47 int G77_system_clock_0 (count
, count_rate
, count_max
)
48 integer
*count
, *count_rate
, *count_max
;
50 int G77_system_clock_0 (integer
*count
, integer
*count_rate
, integer
*count_max
)
53 #if defined (HAVE_TIMES)
58 *count_rate
= sysconf(_SC_CLK_TCK
);
59 #elif defined CLOCKS_PER_SECOND
60 *count_rate
= CLOCKS_PER_SECOND
;
62 *count_rate
= CLK_TCK
;
66 #error Dont know clock tick length
69 if (count_max
) /* optional arg present? */
70 *count_max
= INT_MAX
; /* dubious */
71 cnt
= times (&buffer
);
72 if (cnt
> (unsigned long) (INT_MAX
))
73 *count
= INT_MAX
; /* also dubious */
77 #else /* ! HAVE_TIMES */
80 #endif /* ! HAVE_TIMES */