Ruby
2.4.2p198(2017-09-14revision59899)
|
#include "internal.h"
#include <sys/types.h>
#include <time.h>
#include <errno.h>
#include <float.h>
#include <math.h>
#include "timev.h"
Go to the source code of this file.
Macros | |
#define | _DEFAULT_SOURCE |
#define | _BSD_SOURCE |
#define | NDIV(x, y) (-(-((x)+1)/(y))-1) |
#define | NMOD(x, y) ((y)-(-((x)+1)%(y))-1) |
#define | DIV(n, d) ((n)<0 ? NDIV((n),(d)) : (n)/(d)) |
#define | MOD(n, d) ((n)<0 ? NMOD((n),(d)) : (n)%(d)) |
#define | VTM_WDAY_INITVAL (7) |
#define | VTM_ISDST_INITVAL (3) |
#define | TO_GMT_INITVAL (3) |
#define | ne(x, y) (!eq((x),(y))) |
#define | lt(x, y) (cmp((x),(y)) < 0) |
#define | gt(x, y) (cmp((x),(y)) > 0) |
#define | le(x, y) (cmp((x),(y)) <= 0) |
#define | ge(x, y) (cmp((x),(y)) >= 0) |
#define | div(x, y) (rb_funcall((x), id_div, 1, (y))) |
#define | neg(x) (sub(INT2FIX(0), (x))) |
#define | mulquo(x, y, z) (((y) == (z)) ? (x) : quo(mul((x),(y)),(z))) |
#define | WIDEVALUE_IS_WIDER 0 |
#define | UWIDEINT_MAX ULONG_MAX |
#define | WIDEINT_MAX LONG_MAX |
#define | WIDEINT_MIN LONG_MIN |
#define | FIXWINT_P(v) FIXNUM_P(v) |
#define | FIXWV_MAX FIXNUM_MAX |
#define | FIXWV_MIN FIXNUM_MIN |
#define | FIXWVABLE(i) FIXABLE(i) |
#define | WINT2FIXWV(i) WIDEVAL_WRAP(LONG2FIX(i)) |
#define | FIXWV2WINT(w) FIX2LONG(WIDEVAL_GET(w)) |
#define | POSFIXWVABLE(wi) ((wi) < FIXWV_MAX+1) |
#define | NEGFIXWVABLE(wi) ((wi) >= FIXWV_MIN) |
#define | FIXWV_P(w) FIXWINT_P(WIDEVAL_GET(w)) |
#define | MUL_OVERFLOW_FIXWV_P(a, b) MUL_OVERFLOW_SIGNED_INTEGER_P(a, b, FIXWV_MIN, FIXWV_MAX) |
#define | WIDEVAL_WRAP(v) (v) |
#define | WIDEVAL_GET(w) (w) |
#define | WINT2WV(wi) WIDEVAL_WRAP(LONG2NUM(wi)) |
#define | wne(x, y) (!weq((x),(y))) |
#define | wlt(x, y) (wcmp((x),(y)) < 0) |
#define | wgt(x, y) (wcmp((x),(y)) > 0) |
#define | wle(x, y) (wcmp((x),(y)) <= 0) |
#define | wge(x, y) (wcmp((x),(y)) >= 0) |
#define | wmulquo(x, y, z) ((WIDEVAL_GET(y) == WIDEVAL_GET(z)) ? (x) : wquo(wmul((x),(y)),(z))) |
#define | wmulquoll(x, y, z) (((y) == (z)) ? (x) : wquo(wmul((x),WINT2WV(y)),WINT2WV(z))) |
#define | TIMET2WV(t) timet2wv(t) |
#define | WV2TIMET(t) wv2timet(t) |
#define | leap_year_v_p(y) leap_year_p(NUM2LONG(mod((y), INT2FIX(400)))) |
#define | LOCALTIME(tm, result) (tzset(),rb_localtime_r((tm), &(result))) |
#define | GMTIME(tm, result) rb_gmtime_r((tm), &(result)) |
#define | GetTimeval(obj, tobj) ((tobj) = get_timeval(obj)) |
#define | GetNewTimeval(obj, tobj) ((tobj) = get_new_timeval(obj)) |
#define | IsTimeval(obj) rb_typeddata_is_kind_of((obj), &time_data_type) |
#define | TIME_INIT_P(tobj) ((tobj)->gmt != TO_GMT_INITVAL) |
#define | TIME_UTC_P(tobj) ((tobj)->gmt == 1) |
#define | TIME_SET_UTC(tobj) ((tobj)->gmt = 1) |
#define | TIME_LOCALTIME_P(tobj) ((tobj)->gmt == 0) |
#define | TIME_SET_LOCALTIME(tobj) ((tobj)->gmt = 0) |
#define | TIME_FIXOFF_P(tobj) ((tobj)->gmt == 2) |
#define | TIME_SET_FIXOFF(tobj, off) |
#define | TIME_COPY_GMT(tobj1, tobj2) |
#define | MAKE_TM(time, tobj) |
#define | validate_vtm_range(mem, b, e) |
#define | DEBUG_REPORT_GUESSRANGE |
#define | DEBUG_FIND_TIME_NUMGUESS_INC |
#define | GUESS(p) (DEBUG_FIND_TIME_NUMGUESS_INC (utc_p ? gmtime_with_leapsecond((p), &result) : LOCALTIME((p), result))) |
#define | strftimev(fmt, time, enc) strftime_cstr((fmt), rb_strlen_lit(fmt), (time), (enc)) |
#define | time_succ rb_time_succ |
#define | wday_p(n) |
#define | get_attr(attr, iffound) |
#define | rb_intern(str) rb_intern_const(str) |
Typedefs | |
typedef unsigned long | uwideint_t |
typedef long | wideint_t |
typedef VALUE | WIDEVALUE |
typedef SIGNED_VALUE | SIGNED_WIDEVALUE |
typedef WIDEVALUE | wideval_t |
Functions | |
static int | eq (VALUE x, VALUE y) |
static int | cmp (VALUE x, VALUE y) |
static VALUE | add (VALUE x, VALUE y) |
static VALUE | sub (VALUE x, VALUE y) |
static VALUE | mul (VALUE x, VALUE y) |
static VALUE | mod (VALUE x, VALUE y) |
static VALUE | quo (VALUE x, VALUE y) |
static void | divmodv (VALUE n, VALUE d, VALUE *q, VALUE *r) |
static VALUE | w2v (wideval_t w) |
static wideval_t | v2w (VALUE v) |
static int | weq (wideval_t wx, wideval_t wy) |
static int | wcmp (wideval_t wx, wideval_t wy) |
static wideval_t | wadd (wideval_t wx, wideval_t wy) |
static wideval_t | wsub (wideval_t wx, wideval_t wy) |
static wideval_t | wmul (wideval_t wx, wideval_t wy) |
static wideval_t | wquo (wideval_t wx, wideval_t wy) |
static void | wdivmod (wideval_t wn, wideval_t wd, wideval_t *wq, wideval_t *wr) |
static void | wmuldivmod (wideval_t wx, wideval_t wy, wideval_t wz, wideval_t *wq, wideval_t *wr) |
static wideval_t | wdiv (wideval_t wx, wideval_t wy) |
static wideval_t | wmod (wideval_t wx, wideval_t wy) |
static VALUE | num_exact (VALUE v) |
static wideval_t | rb_time_magnify (wideval_t w) |
static wideval_t | rb_time_unmagnify (wideval_t w) |
static VALUE | rb_time_unmagnify_to_float (wideval_t w) |
static void | split_second (wideval_t timew, wideval_t *timew_p, VALUE *subsecx_p) |
static wideval_t | timet2wv (time_t t) |
static time_t | wv2timet (wideval_t w) |
static VALUE time_utc_offset | _ ((VALUE)) |
static int | obj2int (VALUE obj) |
static uint32_t | obj2ubits (VALUE obj, size_t bits) |
static VALUE | obj2vint (VALUE obj) |
static uint32_t | month_arg (VALUE arg) |
static VALUE | validate_utc_offset (VALUE utc_offset) |
static VALUE | validate_zone_name (VALUE zone_name) |
static void | validate_vtm (struct vtm *vtm) |
static uint32_t | obj2subsecx (VALUE obj, VALUE *subsecx) |
static VALUE | time_gmtime (VALUE) |
static VALUE | time_localtime (VALUE) |
static VALUE | time_fixoff (VALUE) |
static time_t | timegm_noleapsecond (struct tm *tm) |
static int | tmcmp (struct tm *a, struct tm *b) |
static int | vtmcmp (struct vtm *a, struct vtm *b) |
static const char * | find_time_t (struct tm *tptr, int utc_p, time_t *tp) |
static struct vtm * | localtimew (wideval_t timew, struct vtm *result) |
static int | leap_year_p (long y) |
static struct tm * | rb_localtime_r (const time_t *t, struct tm *result) |
static struct tm * | rb_gmtime_r (const time_t *t, struct tm *result) |
static int | calc_tm_yday (long tm_year, int tm_mon, int tm_mday) |
static wideval_t | timegmw_noleapsecond (struct vtm *vtm) |
static int | zone_str_update (st_data_t *key, st_data_t *value, st_data_t arg, int existing) |
static const char * | zone_str (const char *s) |
static void | gmtimew_noleapsecond (wideval_t timew, struct vtm *vtm) |
static struct tm * | gmtime_with_leapsecond (const time_t *timep, struct tm *result) |
static void | init_leap_second_info (void) |
static wideval_t | timegmw (struct vtm *vtm) |
static struct vtm * | gmtimew (wideval_t timew, struct vtm *result) |
static struct tm * | localtime_with_gmtoff_zone (const time_t *t, struct tm *result, long *gmtoff, const char **zone) |
static int | calc_wday (int year, int month, int day) |
static VALUE | guess_local_offset (struct vtm *vtm_utc, int *isdst_ret, const char **zone_ret) |
static VALUE | small_vtm_sub (struct vtm *vtm1, struct vtm *vtm2) |
static wideval_t | timelocalw (struct vtm *vtm) |
static int | timew_out_of_timet_range (wideval_t timew) |
PACKED_STRUCT_UNALIGNED (struct time_object { wideval_t timew;struct vtm vtm;uint8_t gmt:3;uint8_t tm_got:1;}) | |
static VALUE | time_get_tm (VALUE, struct time_object *) |
static void | time_mark (void *ptr) |
static size_t | time_memsize (const void *tobj) |
static VALUE | time_s_alloc (VALUE klass) |
static struct time_object * | get_timeval (VALUE obj) |
static struct time_object * | get_new_timeval (VALUE obj) |
static void | time_modify (VALUE time) |
static wideval_t | timespec2timew (struct timespec *ts) |
static struct timespec | timew2timespec (wideval_t timew) |
static struct timespec * | timew2timespec_exact (wideval_t timew, struct timespec *ts) |
void | rb_timespec_now (struct timespec *ts) |
static VALUE | time_init_0 (VALUE time) |
static VALUE | time_set_utc_offset (VALUE time, VALUE off) |
static void | vtm_add_offset (struct vtm *vtm, VALUE off) |
static VALUE | utc_offset_arg (VALUE arg) |
static VALUE | time_init_1 (int argc, VALUE *argv, VALUE time) |
static VALUE | time_init (int argc, VALUE *argv, VALUE time) |
static void | time_overflow_p (time_t *secp, long *nsecp) |
static wideval_t | nsec2timew (time_t sec, long nsec) |
static VALUE | time_new_timew (VALUE klass, wideval_t timew) |
VALUE | rb_time_new (time_t sec, long usec) |
VALUE | rb_time_nano_new (time_t sec, long nsec) |
VALUE | rb_time_timespec_new (const struct timespec *ts, int offset) |
Returns a time object with UTC/localtime/fixed offset. More... | |
VALUE | rb_time_num_new (VALUE timev, VALUE off) |
static struct timespec | time_timespec (VALUE num, int interval) |
static struct timeval | time_timeval (VALUE num, int interval) |
struct timeval | rb_time_interval (VALUE num) |
struct timeval | rb_time_timeval (VALUE time) |
struct timespec | rb_time_timespec (VALUE time) |
static VALUE | time_s_now (VALUE klass) |
static VALUE | time_s_at (int argc, VALUE *argv, VALUE klass) |
static VALUE | usec2subsecx (VALUE obj) |
static void | time_arg (int argc, VALUE *argv, struct vtm *vtm) |
static VALUE | time_utc_or_local (int argc, VALUE *argv, int utc_p, VALUE klass) |
static VALUE | time_s_mkutc (int argc, VALUE *argv, VALUE klass) |
static VALUE | time_s_mktime (int argc, VALUE *argv, VALUE klass) |
static VALUE | time_to_i (VALUE time) |
static VALUE | time_to_f (VALUE time) |
static VALUE | time_to_r (VALUE time) |
static VALUE | time_usec (VALUE time) |
static VALUE | time_nsec (VALUE time) |
static VALUE | time_subsec (VALUE time) |
static VALUE | time_cmp (VALUE time1, VALUE time2) |
static VALUE | time_eql (VALUE time1, VALUE time2) |
static VALUE | time_utc_p (VALUE time) |
static VALUE | time_hash (VALUE time) |
static VALUE | time_init_copy (VALUE copy, VALUE time) |
static VALUE | time_dup (VALUE time) |
static VALUE | time_localtime_m (int argc, VALUE *argv, VALUE time) |
static VALUE | time_getlocaltime (int argc, VALUE *argv, VALUE time) |
static VALUE | time_getgmtime (VALUE time) |
static VALUE | strftime_cstr (const char *fmt, size_t len, VALUE time, rb_encoding *enc) |
static VALUE | time_asctime (VALUE time) |
static VALUE | time_to_s (VALUE time) |
static VALUE | time_add (struct time_object *tobj, VALUE offset, int sign) |
static VALUE | time_plus (VALUE time1, VALUE time2) |
static VALUE | time_minus (VALUE time1, VALUE time2) |
VALUE | rb_time_succ (VALUE time) |
static VALUE | time_round (int argc, VALUE *argv, VALUE time) |
static VALUE | time_sec (VALUE time) |
static VALUE | time_min (VALUE time) |
static VALUE | time_hour (VALUE time) |
static VALUE | time_mday (VALUE time) |
static VALUE | time_mon (VALUE time) |
static VALUE | time_year (VALUE time) |
static VALUE | time_wday (VALUE time) |
static VALUE | time_sunday (VALUE time) |
static VALUE | time_monday (VALUE time) |
static VALUE | time_tuesday (VALUE time) |
static VALUE | time_wednesday (VALUE time) |
static VALUE | time_thursday (VALUE time) |
static VALUE | time_friday (VALUE time) |
static VALUE | time_saturday (VALUE time) |
static VALUE | time_yday (VALUE time) |
static VALUE | time_isdst (VALUE time) |
static VALUE | time_zone_name (const char *zone) |
static VALUE | time_zone (VALUE time) |
static VALUE | time_utc_offset (VALUE time) |
static VALUE | time_to_a (VALUE time) |
static VALUE | rb_strftime_alloc (const char *format, size_t format_len, rb_encoding *enc, struct vtm *vtm, wideval_t timew, int gmt) |
static VALUE | time_strftime (VALUE time, VALUE format) |
static VALUE | time_mdump (VALUE time) |
static VALUE | time_dump (int argc, VALUE *argv, VALUE time) |
static VALUE | time_mload (VALUE time, VALUE str) |
static VALUE | time_load (VALUE klass, VALUE str) |
void | Init_Time (void) |
Variables | |
static ID | id_divmod |
static ID | id_mul |
static ID | id_submicro |
static ID | id_nano_num |
static ID | id_nano_den |
static ID | id_offset |
static ID | id_zone |
static ID | id_eq |
static ID | id_ne |
static ID | id_quo |
static ID | id_div |
static ID | id_cmp |
VALUE | rb_cTime |
static const int | common_year_yday_offset [] |
static const int | leap_year_yday_offset [] |
static const int | common_year_days_in_month [] |
static const int | leap_year_days_in_month [] |
static st_table * | zone_table |
static long | this_year = 0 |
static time_t | known_leap_seconds_limit |
static int | number_of_leap_seconds_known |
static int | compat_common_month_table [12][7] |
static int | compat_leap_month_table [7] |
static const rb_data_type_t | time_data_type |
static const char | months [][4] |
#define DEBUG_REPORT_GUESSRANGE |
Definition at line 2626 of file time.c.
Referenced by find_time_t().
#define DIV | ( | n, | |
d | |||
) | ((n)<0 ? NDIV((n),(d)) : (n)/(d)) |
Definition at line 41 of file time.c.
Referenced by timegm_noleapsecond(), and timegmw_noleapsecond().
#define div | ( | x, | |
y | |||
) | (rb_funcall((x), id_div, 1, (y))) |
Definition at line 106 of file time.c.
Referenced by time_mdump(), and wdiv().
#define FIXWV2WINT | ( | w | ) | FIX2LONG(WIDEVAL_GET(w)) |
Definition at line 204 of file time.c.
Referenced by rb_time_unmagnify_to_float(), timew_out_of_timet_range(), w2v(), wadd(), wcmp(), wmul(), wquo(), wsub(), and wv2timet().
#define FIXWV_MAX FIXNUM_MAX |
Definition at line 200 of file time.c.
Referenced by timet2wv(), and w2v().
#define FIXWV_MIN FIXNUM_MIN |
Definition at line 201 of file time.c.
Referenced by timet2wv(), and w2v().
#define FIXWV_P | ( | w | ) | FIXWINT_P(WIDEVAL_GET(w)) |
Definition at line 209 of file time.c.
Referenced by rb_time_unmagnify_to_float(), time_mark(), timew_out_of_timet_range(), w2v(), wadd(), wcmp(), weq(), wmul(), wquo(), wsub(), and wv2timet().
#define ge | ( | x, | |
y | |||
) | (cmp((x),(y)) >= 0) |
Definition at line 73 of file time.c.
Referenced by iseq_specialized_instruction(), validate_utc_offset(), and validate_vtm().
#define get_attr | ( | attr, | |
iffound | |||
) |
Referenced by time_mload().
#define GetNewTimeval | ( | obj, | |
tobj | |||
) | ((tobj) = get_new_timeval(obj)) |
Definition at line 1602 of file time.c.
Referenced by time_init_0(), time_init_1(), time_init_copy(), and time_mload().
#define GetTimeval | ( | obj, | |
tobj | |||
) | ((tobj) = get_timeval(obj)) |
Definition at line 1601 of file time.c.
Referenced by rb_time_succ(), rb_time_timespec(), rb_time_timespec_new(), rb_time_timeval(), strftime_cstr(), time_add(), time_cmp(), time_eql(), time_fixoff(), time_gmtime(), time_hash(), time_hour(), time_init_copy(), time_isdst(), time_localtime(), time_mday(), time_mdump(), time_min(), time_minus(), time_mon(), time_nsec(), time_plus(), time_round(), time_s_at(), time_sec(), time_set_utc_offset(), time_strftime(), time_subsec(), time_to_a(), time_to_f(), time_to_i(), time_to_r(), time_to_s(), time_usec(), time_utc_offset(), time_utc_p(), time_wday(), time_yday(), time_year(), and time_zone().
#define GMTIME | ( | tm, | |
result | |||
) | rb_gmtime_r((tm), &(result)) |
Definition at line 696 of file time.c.
Referenced by gmtime_with_leapsecond(), and localtime_with_gmtoff_zone().
#define gt | ( | x, | |
y | |||
) | (cmp((x),(y)) > 0) |
Definition at line 71 of file time.c.
Referenced by iseq_specialized_instruction(), and timegmw().
#define GUESS | ( | p | ) | (DEBUG_FIND_TIME_NUMGUESS_INC (utc_p ? gmtime_with_leapsecond((p), &result) : LOCALTIME((p), result))) |
Referenced by find_time_t().
#define IsTimeval | ( | obj | ) | rb_typeddata_is_kind_of((obj), &time_data_type) |
Definition at line 1604 of file time.c.
Referenced by rb_time_timespec(), rb_time_timeval(), time_cmp(), time_eql(), time_minus(), time_plus(), and time_s_at().
#define le | ( | x, | |
y | |||
) | (cmp((x),(y)) <= 0) |
Definition at line 72 of file time.c.
Referenced by iseq_specialized_instruction(), pack_pack(), timew_out_of_timet_range(), validate_utc_offset(), and vtm_add_offset().
#define leap_year_v_p | ( | y | ) | leap_year_p(NUM2LONG(mod((y), INT2FIX(400)))) |
Definition at line 644 of file time.c.
Referenced by vtm_add_offset().
#define LOCALTIME | ( | tm, | |
result | |||
) | (tzset(),rb_localtime_r((tm), &(result))) |
Definition at line 677 of file time.c.
Referenced by find_time_t(), gmtime_with_leapsecond(), and localtime_with_gmtoff_zone().
#define lt | ( | x, | |
y | |||
) | (cmp((x),(y)) < 0) |
Definition at line 70 of file time.c.
Referenced by filetime_to_timeval(), guess_local_offset(), iseq_specialized_instruction(), small_vtm_sub(), time_round(), timelocalw(), timew_out_of_timet_range(), validate_vtm(), vtm_add_offset(), and vtmcmp().
#define MAKE_TM | ( | time, | |
tobj | |||
) |
Definition at line 1625 of file time.c.
Referenced by strftime_cstr(), time_hour(), time_isdst(), time_mday(), time_min(), time_mon(), time_sec(), time_strftime(), time_to_a(), time_utc_offset(), time_wday(), time_yday(), time_year(), and time_zone().
#define MOD | ( | n, | |
d | |||
) | ((n)<0 ? NMOD((n),(d)) : (n)%(d)) |
Definition at line 42 of file time.c.
Referenced by calc_tm_yday().
#define MUL_OVERFLOW_FIXWV_P | ( | a, | |
b | |||
) | MUL_OVERFLOW_SIGNED_INTEGER_P(a, b, FIXWV_MIN, FIXWV_MAX) |
Definition at line 144 of file time.c.
Referenced by time_mdump(), time_mload(), timew2timespec(), timew2timespec_exact(), and usec2subsecx().
#define NDIV | ( | x, | |
y | |||
) | (-(-((x)+1)/(y))-1) |
Definition at line 39 of file time.c.
Referenced by rb_time_new(), and time_overflow_p().
#define ne | ( | x, | |
y | |||
) | (!eq((x),(y))) |
Definition at line 69 of file time.c.
Referenced by add_ensure_range(), small_vtm_sub(), VpAlloc(), VpCtoV(), VpDtoV(), and vtmcmp().
Definition at line 119 of file time.c.
Referenced by asinh(), atanh(), int_pow(), nurat_round_half_down(), nurat_round_half_even(), nurat_round_half_up(), parse_char_class(), parse_enclose(), rb_fix2str(), rb_int2big(), rb_int_ceil(), rb_int_floor(), rb_int_round(), rb_int_truncate(), rb_math_sqrt(), rb_str2big_karatsuba(), time_init_1(), and vtm_add_offset().
#define rb_intern | ( | str | ) | rb_intern_const(str) |
Referenced by Init_Time(), num_exact(), and time_init_1().
#define strftimev | ( | fmt, | |
time, | |||
enc | |||
) | strftime_cstr((fmt), rb_strlen_lit(fmt), (time), (enc)) |
Definition at line 3533 of file time.c.
Referenced by time_asctime(), and time_to_s().
#define TIME_COPY_GMT | ( | tobj1, | |
tobj2 | |||
) |
Definition at line 1619 of file time.c.
Referenced by rb_time_succ(), and time_s_at().
#define TIME_FIXOFF_P | ( | tobj | ) | ((tobj)->gmt == 2) |
Definition at line 1613 of file time.c.
Referenced by time_add(), time_fixoff(), and time_get_tm().
#define TIME_INIT_P | ( | tobj | ) | ((tobj)->gmt != TO_GMT_INITVAL) |
Definition at line 1605 of file time.c.
Referenced by get_new_timeval(), and get_timeval().
#define TIME_LOCALTIME_P | ( | tobj | ) | ((tobj)->gmt == 0) |
Definition at line 1610 of file time.c.
Referenced by time_localtime().
#define TIME_SET_FIXOFF | ( | tobj, | |
off | |||
) |
Definition at line 1614 of file time.c.
Referenced by rb_time_timespec_new(), time_add(), time_fixoff(), and time_set_utc_offset().
#define TIME_SET_LOCALTIME | ( | tobj | ) | ((tobj)->gmt = 0) |
Definition at line 1611 of file time.c.
Referenced by time_localtime().
#define TIME_SET_UTC | ( | tobj | ) | ((tobj)->gmt = 1) |
Definition at line 1608 of file time.c.
Referenced by rb_time_timespec_new(), time_add(), time_gmtime(), and time_mload().
#define time_succ rb_time_succ |
Definition at line 3683 of file time.c.
Referenced by Init_Time().
#define TIME_UTC_P | ( | tobj | ) | ((tobj)->gmt == 1) |
Definition at line 1607 of file time.c.
Referenced by strftime_cstr(), time_add(), time_get_tm(), time_gmtime(), time_mdump(), time_strftime(), time_to_s(), time_utc_offset(), time_utc_p(), and time_zone().
#define TIMET2WV | ( | t | ) | timet2wv(t) |
Definition at line 595 of file time.c.
Referenced by gmtimew(), init_leap_second_info(), time_mload(), timegmw(), timelocalw(), and timespec2timew().
#define TO_GMT_INITVAL (3) |
Definition at line 45 of file time.c.
Referenced by time_s_alloc().
#define validate_vtm_range | ( | mem, | |
b, | |||
e | |||
) |
Referenced by validate_vtm().
#define VTM_ISDST_INITVAL (3) |
Definition at line 44 of file time.c.
Referenced by time_arg(), time_init_1(), and timelocalw().
#define VTM_WDAY_INITVAL (7) |
Definition at line 43 of file time.c.
Referenced by time_arg(), and time_init_1().
#define wday_p | ( | n | ) |
Definition at line 3915 of file time.c.
Referenced by time_friday(), time_monday(), time_saturday(), time_sunday(), time_thursday(), time_tuesday(), and time_wednesday().
#define WIDEVAL_GET | ( | w | ) | (w) |
Definition at line 223 of file time.c.
Referenced by w2v(), weq(), and wmuldivmod().
#define WIDEVAL_WRAP | ( | v | ) | (v) |
#define WINT2FIXWV | ( | i | ) | WIDEVAL_WRAP(LONG2FIX(i)) |
Definition at line 203 of file time.c.
Referenced by gmtimew(), gmtimew_noleapsecond(), rb_time_magnify(), rb_time_succ(), rb_time_unmagnify(), split_second(), time_init_0(), time_init_1(), time_mload(), time_s_alloc(), time_subsec(), time_to_i(), time_usec(), timegmw_noleapsecond(), timelocalw(), timet2wv(), w2v(), and wmuldivmod().
#define WINT2WV | ( | wi | ) | WIDEVAL_WRAP(LONG2NUM(wi)) |
Definition at line 237 of file time.c.
Referenced by gmtimew(), time_nsec(), time_usec(), timegmw(), timespec2timew(), wadd(), wmul(), wquo(), and wsub().
#define wlt | ( | x, | |
y | |||
) | (wcmp((x),(y)) < 0) |
#define wmulquo | ( | x, | |
y, | |||
z | |||
) | ((WIDEVAL_GET(y) == WIDEVAL_GET(z)) ? (x) : wquo(wmul((x),(y)),(z))) |
Definition at line 397 of file time.c.
Referenced by time_mload(), time_nsec(), time_s_at(), and timespec2timew().
#define WV2TIMET | ( | t | ) | wv2timet(t) |
Definition at line 618 of file time.c.
Referenced by gmtimew(), localtimew(), timew2timespec(), and timew2timespec_exact().
typedef SIGNED_VALUE SIGNED_WIDEVALUE |
typedef unsigned long uwideint_t |
|
static |
Definition at line 76 of file time.c.
References FIX2LONG, FIXNUM_P, LONG2NUM, rb_big_plus(), rb_funcall(), RB_TYPE_P, and T_BIGNUM.
Referenced by gmtimew_noleapsecond(), time_mdump(), time_mload(), timegmw_noleapsecond(), timew_out_of_timet_range(), and vtm_add_offset().
|
static |
Definition at line 738 of file time.c.
References leap_year_p(), and MOD.
Referenced by find_time_t(), and timegmw_noleapsecond().
|
static |
Definition at line 1255 of file time.c.
Referenced by guess_local_offset().
Definition at line 57 of file time.c.
References FIXNUM_P, id_cmp, rb_cmpint(), and rb_funcall().
Referenced by check_step_domain(), f_gt_p(), fix_cmp(), max_ii(), min_ii(), nmin_block_cmp(), nmin_cmp(), num_step(), rb_big_cmp(), rb_complex_set_imag(), rb_complex_set_real(), rb_mod_cmp(), and ruby_num_interval_step_size().
Definition at line 147 of file time.c.
References FIX2LONG, FIXNUM_P, id_divmod, NIL_P, PRIsVALUE, rb_ary_entry(), rb_check_array_type(), rb_eTypeError, rb_fix_divmod_fix(), rb_funcall(), rb_num_zerodiv(), rb_obj_class(), and rb_raise().
Referenced by gmtimew_noleapsecond(), obj2subsecx(), time_mdump(), timegmw_noleapsecond(), vtm_add_offset(), and wdivmod().
Definition at line 48 of file time.c.
References FIXNUM_P, id_eq, rb_funcall(), and RTEST.
Referenced by init_env(), iseq_specialized_instruction(), and weq().
|
static |
Definition at line 2642 of file time.c.
References calc_tm_yday(), DEBUG_REPORT_GUESSRANGE, GUESS, leap_year_p(), LOCALTIME, NULL, timegm_noleapsecond(), and tmcmp().
Referenced by timegmw(), and timelocalw().
|
static |
Definition at line 1681 of file time.c.
References PRIsVALUE, rb_eTypeError, rb_obj_class(), rb_raise(), TIME_INIT_P, and TypedData_Get_Struct.
|
static |
Definition at line 1670 of file time.c.
References PRIsVALUE, rb_eTypeError, rb_obj_class(), rb_raise(), TIME_INIT_P, and TypedData_Get_Struct.
|
static |
Definition at line 926 of file time.c.
References common_year_days_in_month, GMTIME, leap_year_days_in_month, leap_year_p(), LOCALTIME, NULL, and result.
Referenced by gmtimew(), and init_leap_second_info().
|
static |
Definition at line 1131 of file time.c.
References gmtime_with_leapsecond(), gmtimew_noleapsecond(), init_leap_second_info(), INT2FIX, localtime_with_gmtoff_zone(), LONG2NUM, NULL, rb_time_magnify(), result, split_second(), TIMET2WV, WINT2FIXWV, WINT2WV, wlt, wsub(), and WV2TIMET.
Referenced by localtimew(), time_fixoff(), time_gmtime(), and time_mdump().
|
static |
Definition at line 820 of file time.c.
References add(), common_year_yday_offset, divmodv(), INT2FIX, INT2NUM, leap_year_p(), leap_year_yday_offset, mod(), mul(), NUM2INT, split_second(), w2v(), wdivmod(), and WINT2FIXWV.
Referenced by gmtimew().
|
static |
Definition at line 1269 of file time.c.
References calc_wday(), INT2FIX, leap_year_p(), localtime_with_gmtoff_zone(), LONG2FIX, lt, mod(), NULL, NUM2INT, rb_time_unmagnify(), timegmw(), and w2v().
Referenced by localtimew().
|
static |
Definition at line 1054 of file time.c.
References gmtime_with_leapsecond(), INT2FIX, LONG2NUM, NULL, NUM2INT, rb_time_unmagnify(), result, timegmw_noleapsecond(), TIMET2WV, w2v(), and wsub().
void Init_Time | ( | void | ) |
Definition at line 4782 of file time.c.
References id_cmp, id_div, id_divmod, id_eq, id_mul, id_nano_den, id_nano_num, id_ne, id_offset, id_quo, id_submicro, id_zone, NULL, rb_cObject, rb_cTime, rb_define_alloc_func(), rb_define_class(), rb_define_method(), rb_define_private_method(), rb_define_singleton_method(), rb_define_virtual_variable(), rb_include_module(), rb_intern, rb_mComparable, rb_singleton_class(), time_asctime(), time_cmp(), time_dump(), time_eql(), time_friday(), time_getgmtime(), time_getlocaltime(), time_gmtime(), time_hash(), time_hour(), time_init(), time_init_copy(), time_isdst(), time_load(), time_localtime_m(), time_mday(), time_mdump(), time_min(), time_minus(), time_mload(), time_mon(), time_monday(), time_nsec(), time_plus(), time_round(), time_s_alloc(), time_s_at(), time_s_mktime(), time_s_mkutc(), time_s_now(), time_saturday(), time_sec(), time_strftime(), time_subsec(), time_succ, time_sunday(), time_thursday(), time_to_a(), time_to_f(), time_to_i(), time_to_r(), time_to_s(), time_tuesday(), time_usec(), time_utc_offset(), time_utc_p(), time_wday(), time_wednesday(), time_yday(), time_year(), and time_zone().
|
static |
Definition at line 2589 of file time.c.
Referenced by calc_tm_yday(), find_time_t(), gmtime_with_leapsecond(), gmtimew_noleapsecond(), guess_local_offset(), and timegm_noleapsecond().
|
static |
Definition at line 1455 of file time.c.
References buf, GMTIME, LOCALTIME, NULL, result, and zone_str().
Referenced by gmtimew(), guess_local_offset(), and localtimew().
|
static |
Definition at line 1546 of file time.c.
References gmtimew(), guess_local_offset(), localtime_with_gmtoff_zone(), LONG2NUM, NULL, PACKED_STRUCT_UNALIGNED(), rb_time_magnify(), result, split_second(), timew_out_of_timet_range(), v2w(), wadd(), and WV2TIMET.
Referenced by time_localtime(), and timelocalw().
Definition at line 109 of file time.c.
References FIX2LONG, FIXNUM_P, rb_big_modulo(), rb_fix_mod_fix(), rb_funcall(), rb_num_zerodiv(), RB_TYPE_P, and T_BIGNUM.
Referenced by gmtimew_noleapsecond(), guess_local_offset(), time_mdump(), time_round(), and wmod().
Definition at line 2459 of file time.c.
References NIL_P, obj2ubits(), rb_check_string_type(), RSTRING_LEN, RSTRING_PTR, and STRNCASECMP.
Referenced by time_arg(), and time_init_1().
Definition at line 96 of file time.c.
References FIXNUM_P, rb_big_mul(), rb_fix_mul_fix(), rb_funcall(), RB_TYPE_P, and T_BIGNUM.
Referenced by gmtimew_noleapsecond(), time_round(), timegmw_noleapsecond(), timew_out_of_timet_range(), and wmul().
|
static |
Definition at line 2107 of file time.c.
References time_overflow_p(), timespec2timew(), timespec::tv_nsec, and timespec::tv_sec.
Referenced by rb_time_nano_new(), rb_time_new(), and rb_time_timespec_new().
Definition at line 482 of file time.c.
References INT2FIX, NIL_P, NULL, PRIsVALUE, Qundef, rb_check_funcall(), rb_check_to_int(), rb_eTypeError, RB_INTEGER_TYPE_P, rb_intern, rb_obj_class(), rb_raise(), rb_respond_to(), RB_TYPE_P, RRATIONAL, T_RATIONAL, and T_STRING.
Referenced by obj2subsecx(), time_add(), time_mload(), time_s_at(), time_set_utc_offset(), usec2subsecx(), and utc_offset_arg().
|
static |
Definition at line 2394 of file time.c.
References FALSE, NUM2INT, rb_str_to_inum(), RB_TYPE_P, and T_STRING.
Referenced by obj2ubits().
Definition at line 2433 of file time.c.
References divmodv(), FALSE, INT2FIX, num_exact(), obj2ubits(), rb_str_to_inum(), rb_time_magnify(), RB_TYPE_P, T_STRING, v2w(), and w2v().
Referenced by time_arg(), and time_init_1().
Definition at line 2404 of file time.c.
References obj2int(), rb_eArgError, and rb_raise().
Referenced by month_arg(), obj2subsecx(), time_arg(), and time_init_1().
Definition at line 2420 of file time.c.
References FALSE, rb_str_to_inum(), rb_to_int(), RB_TYPE_P, and T_STRING.
Referenced by time_arg(), and time_init_1().
PACKED_STRUCT_UNALIGNED | ( | struct time_object { wideval_t timew;struct vtm vtm;uint8_t gmt:3;uint8_t tm_got:1;} | ) |
Referenced by localtimew().
Definition at line 122 of file time.c.
References FIX2LONG, FIXNUM_MIN, FIXNUM_P, id_quo, INT2FIX, LONG2FIX, LONG2NUM, rb_funcall(), rb_num_zerodiv(), RB_TYPE_P, RRATIONAL, and T_RATIONAL.
Referenced by rb_time_unmagnify_to_float(), time_mload(), time_round(), time_subsec(), and wquo().
|
static |
Definition at line 681 of file time.c.
References gmtime_r(), NULL, and result.
|
static |
Definition at line 647 of file time.c.
References localtime_r(), NULL, and result.
|
static |
Definition at line 4201 of file time.c.
References NIL_P, Qnil, rb_strftime(), rb_strftime_timespec(), rb_time_unmagnify(), timew2timespec_exact(), and w2v().
Referenced by strftime_cstr(), and time_strftime().
Definition at line 2286 of file time.c.
References time_timeval(), and TRUE.
Referenced by get_timeout(), io_wait_readwrite(), rb_f_select(), rb_f_sleep(), and rb_mutex_sleep().
Definition at line 532 of file time.c.
References TIME_SCALE, WINT2FIXWV, and wmul().
Referenced by gmtimew(), localtimew(), obj2subsecx(), rb_time_num_new(), time_add(), time_mload(), time_s_at(), timegmw(), timegmw_noleapsecond(), timelocalw(), timespec2timew(), and vtm_add_offset().
VALUE rb_time_nano_new | ( | time_t | sec, |
long | nsec | ||
) |
Definition at line 2157 of file time.c.
References nsec2timew(), rb_cTime, and time_new_timew().
Referenced by stat_atime(), stat_ctime(), and stat_mtime().
VALUE rb_time_new | ( | time_t | sec, |
long | usec | ||
) |
Definition at line 2130 of file time.c.
References NDIV, nsec2timew(), rb_cTime, rb_eRangeError, rb_raise(), and time_new_timew().
Referenced by rb_gzfile_mtime().
Definition at line 2191 of file time.c.
References NIL_P, rb_cTime, rb_time_magnify(), time_new_timew(), time_set_utc_offset(), utc_offset_arg(), v2w(), and validate_utc_offset().
Definition at line 3670 of file time.c.
References GetTimeval, rb_cTime, rb_warn(), TIME_COPY_GMT, time_new_timew(), TIME_SCALE, wadd(), and WINT2FIXWV.
Definition at line 2309 of file time.c.
References FALSE, GetTimeval, IsTimeval, time_timespec(), and timew2timespec().
Referenced by rb_file_s_utime().
Returns a time object with UTC/localtime/fixed offset.
offset is -86400 < fixoff < 86400 or INT_MAX (localtime) or INT_MAX-1 (utc)
Definition at line 2168 of file time.c.
References GetTimeval, INT2FIX, nsec2timew(), rb_cTime, rb_eArgError, rb_raise(), time_new_timew(), TIME_SET_FIXOFF, TIME_SET_UTC, timespec::tv_nsec, and timespec::tv_sec.
Definition at line 2292 of file time.c.
References FALSE, GetTimeval, IsTimeval, time_timeval(), timew2timespec(), timespec::tv_nsec, timeval::tv_sec, timespec::tv_sec, timeval::tv_usec, TYPEOF_TIMEVAL_TV_SEC, and TYPEOF_TIMEVAL_TV_USEC.
Referenced by rb_thread_sleep().
Definition at line 538 of file time.c.
References TIME_SCALE, WINT2FIXWV, and wquo().
Referenced by guess_local_offset(), init_leap_second_info(), rb_strftime_alloc(), time_round(), and time_to_r().
Definition at line 544 of file time.c.
References DBL2NUM, FIXWV2WINT, FIXWV_P, INT2FIX, quo(), rb_Float(), RB_TYPE_P, T_RATIONAL, TIME_SCALE, and w2v().
Referenced by time_minus(), and time_to_f().
void rb_timespec_now | ( | struct timespec * | ts | ) |
Definition at line 1743 of file time.c.
References clock_gettime(), CLOCK_REALTIME, gettimeofday(), rb_sys_fail(), timespec::tv_nsec, timeval::tv_sec, timespec::tv_sec, and timeval::tv_usec.
Referenced by time_init_0().
|
static |
Definition at line 568 of file time.c.
References TIME_SCALE, w2v(), wdivmod(), and WINT2FIXWV.
Referenced by gmtimew(), gmtimew_noleapsecond(), localtimew(), timew2timespec(), and timew2timespec_exact().
|
static |
Definition at line 4219 of file time.c.
References GetTimeval, MAKE_TM, rb_eArgError, rb_raise(), rb_strftime_alloc(), and TIME_UTC_P.
Referenced by time_get_tm().
Definition at line 86 of file time.c.
References FIX2LONG, FIXNUM_P, LONG2NUM, rb_big_minus(), rb_funcall(), RB_TYPE_P, and T_BIGNUM.
Referenced by time_round(), timegmw_noleapsecond(), timelocalw(), and vtm_add_offset().
Definition at line 3581 of file time.c.
References GetTimeval, num_exact(), rb_cTime, rb_time_magnify(), result, TIME_FIXOFF_P, time_new_timew(), TIME_SET_FIXOFF, TIME_SET_UTC, TIME_UTC_P, v2w(), wadd(), and wsub().
Referenced by time_minus(), time_plus(), and time_round().
|
static |
Definition at line 2520 of file time.c.
References INT2FIX, month_arg(), NIL_P, obj2subsecx(), obj2ubits(), obj2vint(), Qnil, RB_GC_GUARD, rb_scan_args(), RTEST, usec2subsecx(), validate_vtm(), VTM_ISDST_INITVAL, and VTM_WDAY_INITVAL.
Referenced by time_utc_or_local().
Definition at line 3547 of file time.c.
References rb_usascii_encoding(), and strftimev.
Referenced by Init_Time().
Definition at line 3216 of file time.c.
References GetTimeval, INT2FIX, IsTimeval, rb_invcmp(), and wcmp().
Referenced by Init_Time().
Definition at line 4551 of file time.c.
References rb_scan_args(), and time_mdump().
Referenced by Init_Time().
Definition at line 3316 of file time.c.
References rb_obj_class(), time_init_copy(), and time_s_alloc().
Referenced by time_getgmtime(), and time_getlocaltime().
Definition at line 3243 of file time.c.
References GetTimeval, IsTimeval, Qfalse, rb_equal(), and w2v().
Referenced by Init_Time().
Definition at line 3427 of file time.c.
References GetTimeval, gmtimew(), INT2FIX, rb_eArgError, rb_raise(), TIME_FIXOFF_P, time_modify(), TIME_SET_FIXOFF, and vtm_add_offset().
Referenced by time_get_tm(), time_getlocaltime(), time_localtime_m(), and time_mload().
Definition at line 3525 of file time.c.
References len, strftime_cstr(), time_fixoff(), TIME_FIXOFF_P, time_gmtime(), time_localtime(), and TIME_UTC_P.
Definition at line 3519 of file time.c.
References time_dup(), and time_gmtime().
Referenced by Init_Time().
Definition at line 3487 of file time.c.
References NIL_P, rb_scan_args(), time_dup(), time_fixoff(), time_localtime(), time_set_utc_offset(), utc_offset_arg(), and validate_utc_offset().
Referenced by Init_Time().
Definition at line 3403 of file time.c.
References GetTimeval, gmtimew(), rb_eArgError, rb_raise(), time_modify(), TIME_SET_UTC, and TIME_UTC_P.
Referenced by Init_Time(), time_get_tm(), time_getgmtime(), and time_utc_or_local().
Definition at line 3293 of file time.c.
References GetTimeval, rb_hash(), and w2v().
Referenced by Init_Time().
Definition at line 3814 of file time.c.
References GetTimeval, INT2FIX, and MAKE_TM.
Referenced by Init_Time().
Definition at line 2067 of file time.c.
References time_init_0(), and time_init_1().
Referenced by Init_Time().
Definition at line 1762 of file time.c.
References GetNewTimeval, rb_timespec_now(), time_modify(), timespec2timew(), and WINT2FIXWV.
Referenced by time_init().
Definition at line 1962 of file time.c.
References GetNewTimeval, ID2SYM, INT2FIX, month_arg(), neg, NIL_P, obj2subsecx(), obj2ubits(), obj2vint(), Qnil, rb_intern, rb_scan_args(), time_localtime(), time_modify(), time_set_utc_offset(), timegmw(), timelocalw(), utc_offset_arg(), validate_vtm(), vtm_add_offset(), VTM_ISDST_INITVAL, VTM_WDAY_INITVAL, and WINT2FIXWV.
Referenced by time_init().
Definition at line 3303 of file time.c.
References GetNewTimeval, GetTimeval, MEMCPY, and OBJ_INIT_COPY.
Referenced by Init_Time(), and time_dup().
Definition at line 4080 of file time.c.
References GetTimeval, MAKE_TM, Qfalse, and Qtrue.
Referenced by Init_Time().
Definition at line 4685 of file time.c.
References time_mload(), and time_s_alloc().
Referenced by Init_Time().
Definition at line 3324 of file time.c.
References GetTimeval, localtimew(), rb_eArgError, rb_raise(), TIME_LOCALTIME_P, time_modify(), and TIME_SET_LOCALTIME.
Referenced by time_get_tm(), time_getlocaltime(), time_init_1(), time_localtime_m(), and time_utc_or_local().
Definition at line 3368 of file time.c.
References NIL_P, rb_scan_args(), time_fixoff(), time_localtime(), time_set_utc_offset(), utc_offset_arg(), and validate_utc_offset().
Referenced by Init_Time().
|
static |
Definition at line 1633 of file time.c.
References FIXWV_P, rb_gc_mark(), and w2v().
Definition at line 3836 of file time.c.
References GetTimeval, INT2FIX, and MAKE_TM.
Referenced by Init_Time().
Definition at line 4450 of file time.c.
References add(), buf, div, divmodv(), FIX2LONG, FIXNUM_P, GetTimeval, gmtimew(), id_nano_den, id_nano_num, id_offset, id_submicro, id_zone, INT2FIX, LONG2FIX, mod(), mulquo, rb_copy_generic_ivar(), rb_eArgError, rb_equal(), rb_Integer(), rb_ivar_set(), rb_raise(), rb_str_new(), RB_TYPE_P, RRATIONAL, T_RATIONAL, TIME_SCALE, time_utc_offset(), TIME_UTC_P, and time_zone_name().
Referenced by Init_Time(), and time_dump().
Definition at line 3794 of file time.c.
References GetTimeval, INT2FIX, and MAKE_TM.
Referenced by Init_Time().
Definition at line 3640 of file time.c.
References GetTimeval, IsTimeval, rb_Float(), rb_time_unmagnify_to_float(), time_add(), and wsub().
Referenced by Init_Time().
Definition at line 4563 of file time.c.
References add(), buf, digit, get_attr, GetNewTimeval, id_zone, INT2FIX, len, LONG2FIX, mulquo, NIL_P, NULL, num_exact(), Qnil, quo(), rb_copy_generic_ivar(), rb_eTypeError, rb_ivar_set(), rb_raise(), rb_rescue(), rb_str_new_frozen(), rb_time_magnify(), RSTRING_LEN, RSTRING_PTR, StringValue, StringValueCStr, StringValuePtr, time_fixoff(), time_modify(), TIME_SCALE, TIME_SET_UTC, time_set_utc_offset(), timegmw(), TIMET2WV, validate_utc_offset(), validate_zone_name(), wadd(), WINT2FIXWV, and wmulquoll.
Referenced by Init_Time(), and time_load().
|
static |
Definition at line 1692 of file time.c.
References rb_check_frozen, and rb_check_trusted().
Referenced by time_fixoff(), time_gmtime(), time_init_0(), time_init_1(), time_localtime(), time_mload(), and time_set_utc_offset().
Definition at line 3858 of file time.c.
References GetTimeval, INT2FIX, and MAKE_TM.
Referenced by Init_Time().
Definition at line 2117 of file time.c.
References DATA_PTR, and time_s_alloc().
Referenced by rb_time_nano_new(), rb_time_new(), rb_time_num_new(), rb_time_succ(), rb_time_timespec_new(), time_add(), time_s_at(), and time_utc_or_local().
Definition at line 3154 of file time.c.
References GetTimeval, rb_to_int(), TIME_SCALE, w2v(), WINT2WV, wmod(), and wmulquoll.
Referenced by Init_Time().
|
static |
Definition at line 2076 of file time.c.
References NDIV, rb_eArgError, rb_eRangeError, and rb_raise().
Referenced by nsec2timew().
Definition at line 3613 of file time.c.
References GetTimeval, IsTimeval, rb_eTypeError, rb_raise(), and time_add().
Referenced by Init_Time().
Definition at line 3723 of file time.c.
References GetTimeval, INT2FIX, lt, mod(), mul(), NIL_P, NUM2LONG, quo(), rb_eArgError, rb_raise(), rb_scan_args(), rb_time_unmagnify(), rb_to_int(), sub(), time_add(), and w2v().
Referenced by Init_Time().
Definition at line 1656 of file time.c.
References TO_GMT_INITVAL, TypedData_Make_Struct, and WINT2FIXWV.
Referenced by Init_Time(), time_dup(), time_load(), and time_new_timew().
Definition at line 2362 of file time.c.
References GetTimeval, IsTimeval, num_exact(), rb_scan_args(), rb_time_magnify(), TIME_COPY_GMT, time_new_timew(), TIME_SCALE, v2w(), wadd(), and wmulquoll.
Referenced by Init_Time().
Definition at line 3030 of file time.c.
References FALSE, and time_utc_or_local().
Referenced by Init_Time().
Definition at line 2999 of file time.c.
References time_utc_or_local(), and TRUE.
Referenced by Init_Time().
Definition at line 2333 of file time.c.
References NULL, and rb_class_new_instance().
Referenced by Init_Time().
Definition at line 3774 of file time.c.
References GetTimeval, INT2FIX, and MAKE_TM.
Referenced by Init_Time().
Definition at line 1779 of file time.c.
References GetTimeval, num_exact(), time_modify(), and TIME_SET_FIXOFF.
Referenced by rb_time_num_new(), time_getlocaltime(), time_init_1(), time_localtime_m(), and time_mload().
Definition at line 4419 of file time.c.
References GetTimeval, len, MAKE_TM, PRIsVALUE, rb_eArgError, rb_enc_get(), rb_enc_str_asciicompat_p, rb_enc_str_new(), rb_raise(), rb_str_new4, rb_strftime_alloc(), rb_warning(), RSTRING_LEN, RSTRING_PTR, StringValue, and TIME_UTC_P.
Referenced by Init_Time().
Definition at line 3182 of file time.c.
References GetTimeval, INT2FIX, quo(), TIME_SCALE, w2v(), WINT2FIXWV, and wmod().
Referenced by Init_Time().
Definition at line 2206 of file time.c.
References f, FIXNUM_P, id_divmod, id_mul, INT2FIX, NIL_P, NUM2LONG, PRIsVALUE, Qundef, rb_ary_entry(), rb_check_array_type(), rb_check_funcall(), rb_eArgError, rb_eRangeError, rb_eTypeError, RB_FLOAT_TYPE_P, rb_funcall(), rb_obj_class(), rb_raise(), RB_TYPE_P, RFLOAT_VALUE, T_BIGNUM, timespec::tv_nsec, and timespec::tv_sec.
Referenced by rb_time_timespec(), and time_timeval().
Definition at line 2273 of file time.c.
References time_timespec(), timeval::tv_sec, timeval::tv_usec, TYPEOF_TIMEVAL_TV_SEC, and TYPEOF_TIMEVAL_TV_USEC.
Referenced by rb_time_interval(), and rb_time_timeval().
Definition at line 4181 of file time.c.
References GetTimeval, INT2FIX, MAKE_TM, Qfalse, Qtrue, rb_ary_new3, and time_zone().
Referenced by Init_Time().
Definition at line 3073 of file time.c.
References GetTimeval, rb_Float(), and rb_time_unmagnify_to_float().
Referenced by Init_Time().
Definition at line 3049 of file time.c.
References GetTimeval, TIME_SCALE, w2v(), wdiv(), and WINT2FIXWV.
Referenced by Init_Time().
Definition at line 3097 of file time.c.
References GetTimeval, rb_Rational1, rb_time_unmagnify(), RB_TYPE_P, T_RATIONAL, and w2v().
Referenced by Init_Time().
Definition at line 3569 of file time.c.
References GetTimeval, rb_usascii_encoding(), strftimev, and TIME_UTC_P.
Referenced by Init_Time().
Definition at line 3123 of file time.c.
References GetTimeval, rb_to_int(), TIME_SCALE, w2v(), WINT2FIXWV, WINT2WV, wmod(), and wmuldivmod().
Referenced by Init_Time().
Definition at line 4148 of file time.c.
References GetTimeval, INT2FIX, MAKE_TM, and TIME_UTC_P.
Referenced by Init_Time(), and time_mdump().
Definition at line 2952 of file time.c.
References time_arg(), time_gmtime(), time_localtime(), time_new_timew(), timegmw(), and timelocalw().
Referenced by time_s_mktime(), and time_s_mkutc().
Definition at line 3274 of file time.c.
References GetTimeval, Qfalse, Qtrue, and TIME_UTC_P.
Referenced by Init_Time().
Definition at line 3906 of file time.c.
References GetTimeval, INT2FIX, and MAKE_TM.
Referenced by Init_Time().
Definition at line 4045 of file time.c.
References GetTimeval, INT2FIX, and MAKE_TM.
Referenced by Init_Time().
Definition at line 3878 of file time.c.
References GetTimeval, and MAKE_TM.
Referenced by Init_Time().
Definition at line 4116 of file time.c.
References GetTimeval, MAKE_TM, NULL, Qnil, rb_usascii_str_new_cstr(), TIME_UTC_P, and time_zone_name().
Referenced by Init_Time(), and time_to_a().
Definition at line 4090 of file time.c.
References name, rb_enc_associate(), rb_enc_str_asciionly_p(), rb_external_str_with_enc(), rb_locale_encoding(), rb_str_new_cstr(), and rb_usascii_encoding().
Referenced by time_mdump(), and time_zone().
|
static |
Definition at line 2595 of file time.c.
References DIV, and leap_year_p().
Referenced by find_time_t().
|
static |
Definition at line 1096 of file time.c.
References find_time_t(), gt, init_leap_second_info(), INT2FIX, NUM2LONG, rb_eArgError, rb_long2int, rb_raise(), rb_time_magnify(), timegmw_noleapsecond(), TIMET2WV, v2w(), wadd(), WINT2WV, and wlt.
Referenced by guess_local_offset(), time_init_1(), time_mload(), time_utc_or_local(), and timelocalw().
|
static |
Definition at line 752 of file time.c.
References add(), calc_tm_yday(), DIV, divmodv(), INT2FIX, LONG2NUM, mul(), NUM2INT, rb_time_magnify(), sub(), v2w(), wadd(), WINT2FIXWV, and wmul().
Referenced by init_leap_second_info(), and timegmw().
|
static |
Definition at line 1373 of file time.c.
References find_time_t(), FIX2LONG, FIXNUM_P, INT2FIX, INT2NUM, localtimew(), lt, NUM2INT, rb_eArgError, rb_raise(), rb_time_magnify(), small_vtm_sub(), sub(), timegmw(), TIMET2WV, v2w(), VTM_ISDST_INITVAL, vtmcmp(), wadd(), weq(), WINT2FIXWV, and wsub().
Referenced by time_init_1(), and time_utc_or_local().
Definition at line 1699 of file time.c.
References rb_time_magnify(), TIME_SCALE, TIMET2WV, timespec::tv_nsec, timespec::tv_sec, wadd(), WINT2WV, and wmulquoll.
Referenced by nsec2timew(), and time_init_0().
|
static |
Definition at line 1710 of file time.c.
References INT2FIX, mulquo, NUM2LONG, rb_eArgError, rb_raise(), split_second(), TIME_SCALE, timew_out_of_timet_range(), timespec::tv_nsec, timespec::tv_sec, and WV2TIMET.
Referenced by rb_time_timespec(), and rb_time_timeval().
Definition at line 1725 of file time.c.
References FIXNUM_P, INT2FIX, mulquo, NULL, NUM2LONG, split_second(), TIME_SCALE, timew_out_of_timet_range(), timespec::tv_nsec, timespec::tv_sec, and WV2TIMET.
Referenced by rb_strftime_alloc().
|
static |
Definition at line 1513 of file time.c.
References add(), FIXWV2WINT, FIXWV_P, INT2FIX, le, lt, mul(), TIME_SCALE, and w2v().
Referenced by localtimew(), timew2timespec(), and timew2timespec_exact().
|
static |
Definition at line 2933 of file time.c.
Referenced by find_time_t().
Definition at line 2449 of file time.c.
References FALSE, INT2FIX, mulquo, num_exact(), rb_str_to_inum(), RB_TYPE_P, T_STRING, and TIME_SCALE.
Referenced by time_arg().
Definition at line 1925 of file time.c.
References INT2FIX, ISDIGIT, NIL_P, num_exact(), rb_check_string_type(), rb_eArgError, rb_enc_str_asciicompat_p, rb_raise(), RSTRING_LEN, and RSTRING_PTR.
Referenced by rb_time_num_new(), time_getlocaltime(), time_init_1(), and time_localtime_m().
Definition at line 275 of file time.c.
References FIXNUM_P, LONG2FIX, NULL, rb_absint_size(), RB_TYPE_P, RRATIONAL, T_BIGNUM, T_RATIONAL, and WIDEVAL_WRAP.
Referenced by localtimew(), obj2subsecx(), rb_time_num_new(), time_add(), time_s_at(), timegmw(), timegmw_noleapsecond(), timelocalw(), timet2wv(), vtm_add_offset(), wadd(), wdiv(), wdivmod(), wmod(), wmul(), wquo(), and wsub().
Definition at line 2488 of file time.c.
References ge, INT2FIX, le, rb_eArgError, and rb_raise().
Referenced by rb_time_num_new(), time_getlocaltime(), time_localtime_m(), time_mload(), and validate_vtm().
|
static |
Definition at line 2503 of file time.c.
References ge, INT2FIX, lt, NIL_P, rb_eArgError, rb_raise(), TIME_SCALE, validate_utc_offset(), and validate_vtm_range.
Referenced by time_arg(), and time_init_1().
|
static |
Definition at line 1794 of file time.c.
References add(), common_year_days_in_month, divmodv(), INT2FIX, le, leap_year_days_in_month, leap_year_v_p, lt, neg, NUM2INT, rb_equal(), rb_time_magnify(), sub(), TIME_SCALE, v2w(), and w2v().
Referenced by time_fixoff(), and time_init_1().
|
static |
Definition at line 241 of file time.c.
References FIXWV2WINT, FIXWV_MAX, FIXWV_MIN, FIXWV_P, INTEGER_PACK_NATIVE_BYTE_ORDER, rb_integer_pack(), WIDEVAL_GET, WIDEVAL_WRAP, and WINT2FIXWV.
Referenced by gmtimew_noleapsecond(), guess_local_offset(), init_leap_second_info(), obj2subsecx(), rb_strftime_alloc(), rb_time_unmagnify_to_float(), split_second(), time_eql(), time_hash(), time_mark(), time_nsec(), time_round(), time_subsec(), time_to_i(), time_to_r(), time_usec(), timew_out_of_timet_range(), vtm_add_offset(), wadd(), wcmp(), wdiv(), wdivmod(), weq(), wmod(), wmul(), wquo(), wsub(), and wv2timet().
Definition at line 335 of file time.c.
References FIXWV2WINT, FIXWV_P, rb_big_plus(), rb_funcall(), RB_TYPE_P, T_BIGNUM, v2w(), w2v(), and WINT2WV.
Referenced by localtimew(), rb_time_succ(), time_add(), time_mload(), time_s_at(), timegmw(), timegmw_noleapsecond(), timelocalw(), and timespec2timew().
Definition at line 308 of file time.c.
References FIXWV2WINT, FIXWV_P, id_cmp, rb_cmpint(), rb_funcall(), and w2v().
Referenced by time_cmp().
Definition at line 439 of file time.c.
References divmodv(), v2w(), and w2v().
Referenced by gmtimew_noleapsecond(), split_second(), and wmuldivmod().
Definition at line 295 of file time.c.
References eq(), FIXWV_P, id_eq, rb_funcall(), RTEST, w2v(), and WIDEVAL_GET.
Referenced by timelocalw().
Definition at line 472 of file time.c.
References mod(), v2w(), and w2v().
Referenced by time_nsec(), time_subsec(), and time_usec().
Definition at line 367 of file time.c.
References FIXWV2WINT, FIXWV_P, mul(), MUL_OVERFLOW_FIXWV_P, v2w(), w2v(), and WINT2WV.
Referenced by rb_time_magnify(), timegmw_noleapsecond(), and wmuldivmod().
|
static |
Definition at line 451 of file time.c.
References wdivmod(), WIDEVAL_GET, WINT2FIXWV, and wmul().
Referenced by time_usec().
Definition at line 379 of file time.c.
References FIXWV2WINT, FIXWV_P, quo(), rb_num_zerodiv(), v2w(), w2v(), and WINT2WV.
Referenced by rb_time_unmagnify().
Definition at line 351 of file time.c.
References FIXWV2WINT, FIXWV_P, rb_big_minus(), rb_funcall(), RB_TYPE_P, T_BIGNUM, v2w(), w2v(), and WINT2WV.
Referenced by gmtimew(), init_leap_second_info(), time_add(), time_minus(), and timelocalw().
|
static |
Definition at line 598 of file time.c.
References FIXWV2WINT, FIXWV_P, rb_eRangeError, rb_raise(), and w2v().
Definition at line 810 of file time.c.
References st_data_t, st_init_strtable, st_update(), and zone_str_update().
Referenced by localtime_with_gmtoff_zone().
|
static |
Definition at line 795 of file time.c.
References ST_CONTINUE, st_data_t, ST_STOP, and strdup.
Referenced by zone_str().
|
static |
Definition at line 730 of file time.c.
Referenced by gmtime_with_leapsecond(), and vtm_add_offset().
|
static |
Definition at line 699 of file time.c.
Referenced by gmtimew_noleapsecond().
|
static |
|
static |
|
static |
Definition at line 37 of file time.c.
Referenced by cmp(), Init_Time(), and wcmp().
|
static |
Definition at line 37 of file time.c.
Referenced by Init_Time().
|
static |
Definition at line 36 of file time.c.
Referenced by divmodv(), Init_Time(), and time_timespec().
|
static |
Definition at line 36 of file time.c.
Referenced by Init_Time(), and time_timespec().
|
static |
Definition at line 36 of file time.c.
Referenced by Init_Time(), and time_mdump().
|
static |
Definition at line 36 of file time.c.
Referenced by Init_Time(), and time_mdump().
|
static |
Definition at line 37 of file time.c.
Referenced by Init_Time().
|
static |
Definition at line 36 of file time.c.
Referenced by Init_Time(), and time_mdump().
|
static |
Definition at line 37 of file time.c.
Referenced by Init_Time(), and quo().
|
static |
Definition at line 36 of file time.c.
Referenced by Init_Time(), and time_mdump().
|
static |
Definition at line 36 of file time.c.
Referenced by Init_Time(), time_mdump(), and time_mload().
|
static |
Definition at line 733 of file time.c.
Referenced by gmtime_with_leapsecond(), and vtm_add_offset().
|
static |
Definition at line 714 of file time.c.
Referenced by gmtimew_noleapsecond().
|
static |
VALUE rb_cTime |
Definition at line 620 of file time.c.
Referenced by Init_Time(), rb_time_nano_new(), rb_time_new(), rb_time_num_new(), rb_time_succ(), rb_time_timespec_new(), and time_add().
|
static |