| version 1.5, 2005/11/12 08:13:13 |
version 1.7, 2009/03/16 16:43:02 |
|
|
| * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
| * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
| * |
* |
| * $OpenXM: OpenXM_contrib2/asir2000/builtin/time.c,v 1.4 2005/11/12 08:10:56 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/builtin/time.c,v 1.6 2008/09/11 15:17:55 ohara Exp $ |
| */ |
*/ |
| #include "ca.h" |
#include "ca.h" |
| #include "parse.h" |
#include "parse.h" |
| |
|
| void Ptime(), Pcputime(), Pcurrenttime(), Ptstart(), Ptstop(); |
void Ptime(), Pcputime(), Pcurrenttime(), Ptstart(), Ptstop(); |
| |
void Pdcurrenttime(); |
| |
|
| struct ftab time_tab[] = { |
struct ftab time_tab[] = { |
| {"time",Ptime,0}, |
{"time",Ptime,0}, |
| {"cputime",Pcputime,1}, |
{"cputime",Pcputime,1}, |
| {"currenttime",Pcurrenttime,0}, |
{"currenttime",Pcurrenttime,0}, |
| |
{"dcurrenttime",Pdcurrenttime,0}, |
| {"tstart",Ptstart,0}, |
{"tstart",Ptstart,0}, |
| {"tstop",Ptstop,0}, |
{"tstop",Ptstop,0}, |
| {0,0,0}, |
{0,0,0}, |
|
|
| t = (int)get_current_time(); STOQ(t,*rp); |
t = (int)get_current_time(); STOQ(t,*rp); |
| } |
} |
| |
|
| |
void Pdcurrenttime(rp) |
| |
Real *rp; |
| |
{ |
| |
double t; |
| |
|
| |
t = get_current_time(); MKReal(t,*rp); |
| |
} |
| |
|
| void Ptstart(rp) |
void Ptstart(rp) |
| pointer *rp; |
pointer *rp; |
| { |
{ |
|
|
| |
|
| rtime = get_rtime(); MKReal(rtime,rr); |
rtime = get_rtime(); MKReal(rtime,rr); |
| t = get_allocwords(); |
t = get_allocwords(); |
| #if defined(LONG_IS_64BIT) |
#if SIZEOF_LONG == 8 |
| u = t>>32; l = t&(0xffffffff); |
u = t>>32; l = t&(0xffffffff); |
| if ( !u ) STOQ(l,words); |
if ( !u ) STOQ(l,words); |
| else { |
else { |