/** * See Copyright Notice in picrin.h */ #include #include "picrin.h" #define UTC_TAI_DIFF 35 static pic_value pic_current_second(pic_state *pic) { time_t t; pic_get_args(pic, ""); time(&t); return pic_float_value((double)t + UTC_TAI_DIFF); } static pic_value pic_current_jiffy(pic_state *pic) { clock_t c; pic_get_args(pic, ""); c = clock(); return pic_int_value(c); } static pic_value pic_jiffies_per_second(pic_state *pic) { pic_get_args(pic, ""); return pic_int_value(CLOCKS_PER_SEC); } void pic_init_time(pic_state *pic) { pic_deflibrary (pic, "(scheme time)") { pic_defun(pic, "current-second", pic_current_second); pic_defun(pic, "current-jiffy", pic_current_jiffy); pic_defun(pic, "jiffies-per-second", pic_jiffies_per_second); } }