nobu
65a884ebad
time.c: fix typo in value_insane_p
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-24 11:56:12 +00:00
nobu
11e386cf6c
time.c: inquire suspicious values
...
* time.c (time_arg): dump sec and subsec arguments if subsecx is
insane.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-23 00:05:40 +00:00
nobu
bd2e1034d5
time.c: inquire suspicious values
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-22 22:34:18 +00:00
nobu
edaf4500f8
time.c: debug print
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-21 13:46:46 +00:00
nobu
5518b5c21a
time.c: refine num_exact error message
...
* time.c (num_exact): show the original argument when conversion
failed, instead of intermediate nil.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57140 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-21 12:06:40 +00:00
nobu
33e8eef020
time.c: use RB_TYPE_P
...
* time.c (time_timespec): use RB_TYPE_P instead of switching by
TYPE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-21 12:05:41 +00:00
nobu
5064e9201a
time.c: refine error message
...
* time.c (validate_vtm): separate validation failure messages for
each members.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-19 08:36:21 +00:00
akr
a03411b63e
fix vtm_add_offset yday on last day of year.
...
* time.c (vtm_add_offset): Fix yday on last day of year.
[ruby-core:72878] [Bug #11994 ] Fixed by Andrew White.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-05 14:59:51 +00:00
usa
774442d27f
* time.c (time_arg): guard for mswin64 CI.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-12 15:16:09 +00:00
akr
577de1e93d
replace fixnum by integer in documents.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-08 04:57:49 +00:00
usa
a260f093be
* time.c (obj2subsecx): subsec might be GC'ed. try to get rid of SEGV on mswin
...
CI.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-06 01:21:54 +00:00
usa
8b9f9274c6
* time.c (time_arg): revert r55688 beause it had no effect. retry...
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-15 21:39:57 +00:00
usa
363c90853e
* time.c (time_arg): it seems that this function sometimes causes SEGV
...
on mswin CI, then force to prevent `vtm->subsecx` from GC. this is
experimental.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-15 06:35:37 +00:00
naruse
173005bb6f
* time.c: define _DEFAULT_SOURCE because glibc 2.20 depracates
...
_BSD_SOURCE.
https://sourceware.org/glibc/wiki/Release/2.20
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-27 16:15:21 +00:00
nobu
5fd589287d
time.c: add example [ci skip]
...
* time.c (time_asctime): [DOC] add ctime example, not only
asctime. [ruby-core:75126] [Bug #12310 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-22 11:34:05 +00:00
nobu
5396d8a1ab
strftime.c: format in String
...
* strftime.c (rb_strftime_with_timespec): append formatted results
to the given string with expanding, and also deal with NUL chars.
* strftime.c (rb_strftime, rb_strftime_timespec): return formatted
string, not the length put in the given buffer.
* time.c (rb_strftime_alloc): no longer needs to retry with
reallocating buffers.
* time.c (time_strftime): no longer needs to split by NUL chars.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-23 11:57:01 +00:00
usa
15af93fcc8
* time.c (wmul): wrong condition.
...
fixed many test failures on 32bit and LLP64 platforms.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-22 02:41:24 +00:00
usa
6957898ad0
* time.c (wdiv, wmod): wdivmod0() assumes the 3rd and the 4th arguments
...
are valid pointers.
maybe checking them in wdivmod0() is better manner, but I guess that
passing real dummy pointers may be faster than checking and branching
in wdivmod0().
this commit fixes SEGV on 32bit and LLP64 platforms.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-22 01:37:01 +00:00
usa
0dbbcdb6bb
* time.c (divmodv): void function never returns any value.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-22 01:24:55 +00:00
naruse
520650798c
fix typo
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 19:14:27 +00:00
naruse
03d0501f51
* time.c (MUL_OVERFLOW_FIXWV_P): defined for FIXWV.
...
* time.c (wmul): use MUL_OVERFLOW_FIXWV_P and only switch.
* time.c (wmul): use mul which has Fixnum optimization.
* time.c (rb_time_magnify): If WIDEVALUE_IS_WIDER, wmul() has the same
optimized logic, else mul() has also the similar logic for Fixnum.
* time.c (rb_time_unmagnify): almost ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 18:57:30 +00:00
naruse
74d7b281d3
fix typo
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 18:57:25 +00:00
naruse
849bbc6566
* time.c (divmodv): add the case both arguments are Fixnum.
...
* time.c (wquo): use quo which has Fixnum optimization.
* time.c (wdivmod0): added for WIDEVALUE_IS_WIDER.
* time.c (wdivmod): use wdivmod0 and divmodv.
divmodv has Fixnum optimization.
* time.c (wdiv): use wdivmod0 and div to avoid the use of divmodv which
calls id_quo whose return value is array.
* time.c (wmod): use wdivmod0 and mod to avoid the use of divmodv which
calls id_quo whose return value is array.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 18:19:15 +00:00
naruse
51c4ffa45b
* internal.h (rb_fix_divmod_fix): like r54213, use FIX2NUM only if
...
x == FIXNUM_MIN && y == -1. This must be a rare case and it is
expected compiler to handle well.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 13:36:03 +00:00
nobu
2118eccc77
time.c (quo): fix missing return
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 13:31:30 +00:00
naruse
654788793d
fix commit miss
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 13:21:12 +00:00
naruse
f5715289ac
* time.c (mod): Add Fixnum case.
...
* time.c (quo): c can be Fixnum except a == FIXNUM_MIN && b == -1.
Such case can be optimized out because quo()'s argument is constant.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 13:17:45 +00:00
nobu
ce5ba9197d
time.c (mul): fix missing return.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-20 11:26:17 +00:00
naruse
148f1b9d57
* internal.h (DLONG): defined if long is 32bit (and LONG_LONG is 64bit;
...
but LONG_LONG is always defined as 64bit), or there's int128_t.
* internal.h (DL2NUM): defined if DLONG is defined.
* internal.h (rb_fix_mul_fix): defined for `Fixnum * Fixnum`.
* insns.def (opt_mul): use rb_fix_mul_fix().
* numeric.c (fix_mul): ditto.
* time.c (mul): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-20 11:10:43 +00:00
naruse
cb390bef8a
* time.c (add): remove FIXABLE() which is in LONG2NUM().
...
* time.c (sub): ditto.
* time.c (mul): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-20 09:47:20 +00:00
naruse
4eb908d21a
* time.c (LOCALTIME): organize #ifdefs.
...
* time.c (GMTIME): define only ifndef HAVE_STRUCT_TM_TM_GMTOFF.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-18 19:06:33 +00:00
naruse
9a8b21446e
* configure.in (rb_cv_member_struct_tm_tm_gmtoff): For Linux (glibc)
...
define _BSD_SOURCE for time.h to define struct tm.tm_gmtoff.
* time.c: define _BSD_SOURCE at the top.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-18 19:06:32 +00:00
hsbt
8709f42ff2
* time.c: Minor typo in Time#dst? documentation.
...
[ci skip][fix GH-1290]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-15 00:56:45 +00:00
naruse
911b1c6b06
* time.c (rb_time_timespec_new): swap utc and localtime
...
to generate gmt flag by INT_MAX - gmtoff.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-10 05:36:47 +00:00
naruse
f1df08e76d
* time.c (rb_timespec_now): added.
...
* time.c (rb_time_timespec_new): added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-10 02:59:47 +00:00
naruse
2b15d16987
fix comment: tobj->gmt is 0:localtime 1:utc 2:fixoff 3:init
...
see also TIME_UTC_P and TIME_LOCALTIME_P
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-09 17:18:35 +00:00
nobu
4191a6b90d
preserve encodings in error messages
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51962 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-28 02:40:46 +00:00
akr
3093ffab83
* time.c (time_getlocaltime): [DOC] Add examples of valid utc_offset
...
formats.
[ruby-core:68306] [Misc #10905 ] Patch by Charles Korn.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14 11:10:49 +00:00
normal
f6cd582505
variable.c: avoid compatibility table with generic ivars
...
This recovers and improves performance of Marshal.dump/load on
Time objects compared to when we implemented generic ivars
entirely using st_table.
This also recovers some performance on other generic ivar objects,
but does not bring bring Marshal.dump/load performance up to
previous speeds.
benchmark results:
minimum results in each 10 measurements.
Execution time (sec)
name trunk geniv after
marshal_dump_flo 0.343 0.334 0.335
marshal_dump_load_geniv 0.487 0.527 0.495
marshal_dump_load_time 1.262 1.401 1.257
Speedup ratio: compare with the result of `trunk' (greater is better)
name geniv after
marshal_dump_flo 1.026 1.023
marshal_dump_load_geniv 0.925 0.985
marshal_dump_load_time 0.901 1.004
* include/ruby/intern.h (rb_generic_ivar_table): deprecate
* internal.h (rb_attr_delete): declare
* marshal.c (has_ivars): use rb_ivar_foreach
(w_ivar): ditto
(w_object): update for new interface
* time.c (time_mload): use rb_attr_delete
* variable.c (generic_ivar_delete): implement
(rb_ivar_delete): ditto
(rb_attr_delete): ditto
[ruby-core:69323] [Feature #11170 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-30 00:20:15 +00:00
naruse
1e4172467f
* win32/Makefile.sub: MSVC14 have struct timespec.
...
* win32/rtname.cmd: support vcruntime140.dll.
* time.c (localtime_with_gmtoff_zone): MSVC14 doesn't have tzname and
daylight but have _tzname and _daylight.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-23 19:51:18 +00:00
nobu
004ce53b25
time.c: locale time zone name
...
* time.c (time_zone_name): should be US-ASCII only if all 7-bits,
otherwise locale encoding. [ruby-core:68230] [Bug #10887 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-24 02:49:51 +00:00
naruse
5b4afd0281
zone may be ASCII-8BIT on Windows [Bug #10887 ]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-23 09:32:27 +00:00
eregon
9759173cfc
* time.c: zone encoding should be US-ASCII if all 7-bits. Fix r46907.
...
* test/ruby/test_time.rb, test/ruby/test_time_tz.rb: Update tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-22 22:26:55 +00:00
akr
9bbe6b9d0c
* time.c (timelocalw): Set tm_isdst field -1 if vtm->isdst is
...
VTM_ISDST_INITVAL. This bug is introduced at packing struct
vtm (r45155).
[ruby-core:67345] [Bug #10698 ] Reported by Boris Ruf.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-06 12:41:20 +00:00
nobu
e580a631be
use 0 for reserved
...
use 0 for rb_data_type_t::reserved instead of NULL, since its type
may be changed in the future and possibly not a pointer type.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-01 06:38:04 +00:00
nobu
1e4292a9d0
time.c: indent
...
* time.c (find_time_t): adjust indent.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-27 08:08:32 +00:00
akr
15bfc6ffbf
* time.c (time_s_mkutc): [DOC] Time.utc's 10 arguments form
...
doesn't examine wday, yday, isdst and tz.
(time_s_mktime): [DOC] Time.mktime's 10 arguments form
doesn't examine wday, yday and tz.
Suggested by naruse.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-27 03:48:42 +00:00
akr
7cd76ab0c5
* internal.h: Include ruby.h and ruby/encoding.h to be
...
includable without prior inclusion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-15 11:49:06 +00:00
akr
6c41b73dec
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-04 14:20:56 +00:00
akr
1efb3c31b7
* Avoid undefined behaviors found by gcc -fsanitize=undefined.
...
gcc (Debian 4.9.1-16) 4.9.1
* include/ruby/ruby.h (INT2FIX): Avoid undefined behavior.
* node.h (nd_set_line): Ditto.
* pack.c (encodes): Ditto.
(pack_unpack): Ditto.
* regint.h (BIT_STATUS_AT): Ditto.
(BS_BIT): Ditto.
* time.c (time_mdump): Ditto.
(time_mload): Ditto.
* vm_core.h (VM_FRAME_MAGIC_MASK): Ditto.
* vm_trace.c (recalc_add_ruby_vm_event_flags): Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-17 08:50:01 +00:00
glass
5697b2f013
* time.c: raise exception when minutes of utc_offset is out of 00-59.
...
patch is from Kenichi Kamiya.
[ruby-dev:47539] [Bug #8679 ]
* test/ruby/test_time.rb: test for above.
patch is from Kenichi Kamiya.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-21 16:58:47 +00:00
normal
6c396e94f9
time.c: DATA_PTR is never NULL
...
* time.c (time_mark): remove NULL check
(time_memsize): ditto
(time_free): remove, use RUBY_TYPED_DEFAULT_FREE instead
[Feature #10219 ]
Tiny improvement on my old Phenom II X4 945 system:
$ ruby --disable=gems -e '6000000.times { Time.now }'
before: 2.51user 0.00system 0:02.51elapsed 100%CPU
after: 2.45user 0.00system 0:02.45elapsed 100%CPU
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-10 06:01:36 +00:00
akr
092c647cb7
* time.c (rb_time_unmagnify_to_float): Avoid double rounding.
...
Reported by Tsuyoshi Sawada.
https://bugs.ruby-lang.org/issues/10135#note-1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-26 11:48:21 +00:00
normal
ed2e8b2e70
time.c (time_timespec): fix tv_nsec overflow
...
test/ruby/test_float.rb (test_sleep_with_Float) causes tv_nsec
to hit 1000000000 exactly. This bug is currently hidden from
our test by the platform-dependent native_cond_timeout
functions, but a future native_cond_timedwait implementation may
prefer relative timeouts to match ConditionVariable#wait
semantics more closely.
[Bug #10144 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-16 01:27:19 +00:00
akr
05e756f367
Revert r46977. [ruby-core:63857] [Bug #10071 ]
...
The removed comment is useful to understand the behind idea to
solve the year 2038 problem.
The broken link is replaced to refer the internet archive.
0eed69757d (commitcomment-7166665)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-14 13:10:07 +00:00
zzak
ea418dda41
* time.c: [DOC] Clarify %Y in strftime, which can accept any digits
...
and will output at least 4 digits as the year. Reported by Yury
Trofimenko [Bug #8941 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-27 20:58:05 +00:00
zzak
0eed69757d
* time.c: [DOC] Remove dead link and old bug report, which hasn't been
...
reproduced in a few years. Reported by Federico Builes [Bug #10071 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-27 20:14:11 +00:00
nobu
2e8ce8899a
time.c: unnecessary encoding
...
* time.c (time_zone_name): remove unnecessary encoding and
conversion if it is 7bit-ascii only.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-23 07:20:39 +00:00
akr
dd5d029db0
* compile.c (BUFSIZE): Unused macro removed.
...
* vm.c (BUFSIZE): Ditto.
* pack.c (INT64toNUM): Ditto.
(UINT64toNUM): Ditto.
(BYTEWIDTH): Ditto.
* time.c (lshift): Ditto.
(UINT64toNUM): Ditto.
(id_lshift): Unused variable removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-11 13:29:16 +00:00
nobu
0989529f88
time.c: fix underflow of unsigned integers
...
* time.c (vtm_add_offset): get rid of underflow of unsigned
integers. fix up r45155.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-02 18:43:23 +00:00
nobu
c23a9376ca
time.c: fix non-terminated string
...
* time.c (month_arg, time_strftime): RSTRING_PTR() may not be
NUL-terminated.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-18 15:09:49 +00:00
normal
e0a0edf548
time.c: freeze and preserve marshal-loaded time zone
...
We need to prevent vtm.zone from pointing to a GC-ed string buffer.
The rb_copy_generic_ivar call misses it because get_attr deleted it.
Thanks to nobu for the rb_str_new_frozen suggestion.
* time.c (time_mload): freeze and preserve marshal-loaded time zone
* test/ruby/test_time.rb: add test for GC on loaded object
[Bug #9652 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-19 08:19:13 +00:00
nobu
fc23374f06
[DOC] add links to `Object#hash`
...
add links to `Object#hash` to each #`hash` methods rdocs.
[Fixes GH-567]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-14 01:27:43 +00:00
akr
abb0286b72
[DOC]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-28 16:01:54 +00:00
nobu
cc216f9aae
adjust indent and style
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-27 07:10:14 +00:00
nobu
df9199d468
configure.in, win32/Makefile.sub: PACKED_STRUCT with VC
...
* configure.in (PACKED_STRUCT): check VC pragma too, and make
function-style macro.
* win32/Makefile.sub (PACKED_STRUCT): enable with VC.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-25 07:00:10 +00:00
normal
131e4bec04
time: only use packed struct on x86*
...
* configure.in: define PACKED_STRUCT_UNALIGNED for x86*
* timev.h (struct vtm): use PACKED_STRUCT_UNALIGNED
* time.c (struct time_object): ditto
[Bug #9558 ] non-x86 cannot safely access unaligned addresses
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-24 11:10:11 +00:00
normal
b2f3063cae
time: rearrange+pack vtm and time_object structs
...
struct time_object shrinks from 88 to 46 bytes on my 64-bit system.
* configure.in: use -Wno-packed-bitfield-compat for GCC 4.4+
use __attribute__((packed)) if available
* timev.h: shrink and pack struct vtm
* time.c: pack struct time_object and adjust/introduce helpers
[ruby-core:60794]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-24 03:38:14 +00:00
akr
caa3c88040
* time.c (v2w): Normalize a rational value to an integer if possible.
...
[ruby-core:58070] [Bug #9059 ] reported by Isaac Schwabacher.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-30 03:22:23 +00:00
ko1
c5e08b764e
* add RUBY_TYPED_FREE_IMMEDIATELY to data types which only use
...
safe functions during garbage collection such as xfree().
On default, T_DATA objects are freed at same points as fianlizers.
This approach protects issues such as reported by [ruby-dev:35578].
However, freeing T_DATA objects immediately helps heap usage.
Most of T_DATA (in other words, most of dfree functions) are safe.
However, we turned off RUBY_TYPED_FREE_IMMEDIATELY by default
for safety.
* cont.c: ditto.
* dir.c: ditto.
* encoding.c: ditto.
* enumerator.c: ditto.
* error.c: ditto.
* file.c: ditto.
* gc.c: ditto.
* io.c: ditto.
* iseq.c: ditto.
* marshal.c: ditto.
* parse.y: ditto.
* proc.c: ditto.
* process.c: ditto.
* random.c: ditto.
* thread.c: ditto.
* time.c: ditto.
* transcode.c: ditto.
* variable.c: ditto.
* vm.c: ditto.
* vm_backtrace.c: ditto.
* vm_trace.c: ditto.
* ext/bigdecimal/bigdecimal.c: ditto.
* ext/objspace/objspace.c: ditto.
* ext/stringio/stringio.c: ditto.
* ext/strscan/strscan.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-29 11:16:54 +00:00
akr
888e5cbbe7
* process.c: Remove spaces between SI prefix and unit to follow
...
SI brochure.
http://www.bipm.org/en/si/si_brochure/
https://www.nmij.jp/library/units/si/
* time.c: Ditto.
* ext/socket/ancdata.c: Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-09 12:33:36 +00:00
nobu
5685abe6c3
time.c: ignore invalid data
...
* time.c (time_mload): ignore invalid offset and zone.
[ruby-core:56648] [Bug #8795 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-17 13:20:50 +00:00
ktsj
f9cbf0e89f
* time.c (get_timeval, get_new_timeval): use rb_obj_class()
...
instead of CLASS_OF() because CLASS_OF() may return
a singleton class.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-09 01:56:51 +00:00
akr
fef170e87c
* time.c (time_overflow_p): Avoid signed integer overflow.
...
(rb_time_new): Fix overflow condition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-08 12:59:21 +00:00
akr
685597fdc1
Fix the previous commit.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-08 12:34:30 +00:00
akr
319dc9f6c6
* time.c (time_overflow_p): Avoid signed integer overflow.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-08 12:13:04 +00:00
zzak
0ea2ae132f
* time.c: [DOC] Typo in Time overview by @sparr [Fixes GH-374]
...
https://github.com/ruby/ruby/pull/374
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-06 13:39:15 +00:00
akr
a338c4ed5d
Unused variable removed.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-11 16:37:37 +00:00
akr
b23d9a8a63
* bignum.c (validate_integer_pack_format): Don't require a word order
...
flag if numwords is 1 or less.
(absint_numwords_generic): Don't specify a word order for
rb_integer_pack.
* hash.c (rb_hash): Ditto.
* time.c (v2w_bignum): Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-11 14:40:16 +00:00
akr
0e8caa7d0f
* bignum.c (rb_integer_pack): Returns sign instead of words.
...
(absint_numwords_generic): Follow the above change.
(big2str_base_powerof2): Follow the above change.
* internal.h: Ditto.
* hash.c (rb_hash): Ditto.
* pack.c (pack_pack): Ditto.
* random.c (int_pair_to_real_inclusive): Ditto.
(rand_init): Ditto.
(random_load): Ditto.
(limited_big_rand): Ditto.
* time.c (v2w_bignum): Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-10 10:37:39 +00:00
akr
837392b452
* bignum.c (rb_integer_pack): numwords_allocated argument removed.
...
* internal.h (rb_integer_pack): Follow the above change.
* hash.c (rb_hash): Ditto.
* time.c (v2w_bignum): Ditto.
* pack.c (pack_pack): Ditto.
* random.c (int_pair_to_real_inclusive): Ditto.
(rand_init): Ditto.
(random_load): Ditto.
(limited_big_rand): Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-09 05:53:00 +00:00
akr
874f10cbf2
* time.c (v2w): Use rb_absint_size instead of RBIGNUM_LEN.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-08 13:31:35 +00:00
akr
f1a6b64b1d
* time.c (v2w_bignum): Simplified using rb_integer_pack.
...
(rb_big_abs_find_maxbit): Removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41178 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-08 12:48:39 +00:00
akr
747894a32d
* bignum.c (rb_absint_singlebit_p): New function.
...
* internal.h (rb_absint_singlebit_p): Declared.
* time.c (v2w_bignum): Use rb_absint_singlebit_p instead of
rb_big_abs_find_minbit.
(rb_big_abs_find_minbit): Removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-08 12:05:57 +00:00
akr
af612be8e0
* time.c (rb_big_abs_find_maxbit): Use rb_absint_size.
...
(bdigit_find_maxbit): Removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-08 11:25:07 +00:00
ktsj
edb98f8b91
fix typos. Patch by k_takata.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-19 03:10:21 +00:00
akr
a4460ddb48
* time.c (localtime_with_gmtoff_zone): musl libc may return NULL for
...
tm_zone.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-01 12:12:25 +00:00
akr
f674d8623d
* time.c (time_strftime): Describe %L and %N truncates digits under
...
the specified length.
[ruby-core:52130] [Bug #7829 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-04 13:37:22 +00:00
nobu
77ff241fa0
timev.h: move time_t stuffs
...
* timev.h (TYPEOF_TIMEVAL_TV_SEC, unsigned_time_t): move from time.c.
* thread.c: use definitions in timev.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-30 21:08:36 +00:00
nobu
f2e1bfb897
thread.c: format specifiers for time_t
...
* thread.c (sleep_timeval): fix format specifiers for time_t.
* time.c (DEBUG_REPORT_GUESSRANGE): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-30 21:08:34 +00:00
akr
c64f26a281
* time.c (num_exact): use to_r method only if to_int method is
...
available.
[ruby-core:53764] [Bug #8173 ] reported by Hiro Asari.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-27 11:37:59 +00:00
akr
bfb0edbad2
* internal.h: Define TIMET_MAX and TIMET_MIN here.
...
* time.c: Remove TIMET_MAX and TIMET_MIN definitions.
* thread.c: Ditto.
* thread_pthread.c: Remove TIMET_MAX definition.
* thread_win32.c: Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-26 14:45:55 +00:00
akr
e1540cd74d
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-26 12:22:12 +00:00
kosaki
798ff850e4
* configure.in: check struct timeval exist or not.
...
* include/ruby/missing.h (struct timeval): check HAVE_STRUCT_TIMEVAL
properly. and don't include sys/time.h if struct timeval exist.
* file.c: include sys/time.h explicitly.
* random.c: ditto.
* thread_pthread.c: ditto.
* time.c: ditto.
* ext/date/date_strftime.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-16 05:06:47 +00:00
nobu
84085167f8
time.c: check re-initialize
...
* time.c (GetTimeval): check if already initialized instance.
* time.c (GetNewTimeval): check if newly created instance.
* time.c (time_init_0, time_init_1, time_init_copy, time_mload): must
be newly created instance. [ruby-core:53436] [Bug #8099 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-15 14:06:21 +00:00
zzak
c2204ca328
* array.c: Document #<=> return values and formatting
...
* bignum.c: ditto
* file.c: ditto
* object.c: ditto
* numeric.c: ditto
* rational.c: ditto
* string.c: ditto
* time.c: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-23 03:35:38 +00:00
nobu
44c5c2a312
compar.c: inversed comarison without infinite recursion
...
* compar.c (rb_invcmp): compare by inversed comarison, with preventing
from infinite recursion. [ruby-core:52305] [Bug #7870 ]
* string.c (rb_str_cmp_m), time.c (time_cmp): get rid of infinite
recursion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-17 11:55:50 +00:00
nobu
a773539d3a
time.c: st_update
...
* time.c (zone_str): lookup or insert by using st_update() at once.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-12 09:27:12 +00:00
naruse
1bb1d096fb
* time.c (time_mdump): dump timezone string to private instance variable
...
on marshaling.
* time.c (time_mload): load timezone string from private instance
variable named 'zone'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-07 02:55:35 +00:00
nobu
3faee6520e
time.c, vm_method.c: update rdoc
...
* time.c (time_{mdump,dump,mload,load): update rdoc.
* vm_method.c (obj_respond_to_missing): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-01 13:54:54 +00:00
nobu
9c1b3161f2
complex.c, time.c: make marshal methods private
...
* complex.c (Init_Complex), time.c (Init_Time): make marshal methods
private. [Feature #6539 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-01 09:17:02 +00:00
zzak
088b04e8a4
* time.c: Documentation improvements, grammar and formatting
...
Patch by Bernd Homuth [ruby-core:49203] [Bug #7326 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 04:53:09 +00:00
drbrain
b773a4f803
* time.c (time_sec): Remove extra wording about leap seconds and refer
...
directly to Wikipedia's leap second page for further information.
[Bug #6749 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-30 21:18:29 +00:00
drbrain
0d8bc52593
* time.c (time_sec): Updated description of leap seconds for accuracy.
...
Based on patch by Marcus Stollsteimer. [Bug #6749 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-23 22:23:41 +00:00
akr
83eceb2a79
* time.c (timew_out_of_timet_range): specialization for
...
SIZEOF_TIME_T == SIZEOF_INT64_T.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-02 12:26:50 +00:00
kosaki
51c44ab1ec
* time.c (init_leap_second_info): fix non-ANSI function declaration.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-19 21:50:32 +00:00
nobu
2073258a7d
obj_init_copy
...
* object.c (rb_obj_init_copy): should check if trusted too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-05 11:13:18 +00:00
nobu
18805586d9
utc offset in seconds
...
* time.c (utc_offset_arg): utc offset can be precision in seconds.
e.g. old Europe/Lisbon (c.f. [ruby-dev:40066])
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-30 01:58:34 +00:00
tadf
43e8bf0c27
re-modified
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-26 09:21:21 +00:00
tadf
0976f31200
* time.c: modified doc.
...
* ext/date/date_core.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-26 09:10:42 +00:00
nobu
28e48d3fd8
* time.c (time_init_1): Time.new will accept seconds as string or
...
int. [ruby-core:43569][Bug #6193 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-24 13:22:22 +00:00
akr
c7c91247e2
typo fix.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-09 19:21:01 +00:00
akr
4dbafb0d89
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-09 18:54:12 +00:00
nobu
80429eed63
* io.c, process.c, time.c, ext: use rb_sys_fail_str instead of
...
rb_sys_fail.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-27 01:50:27 +00:00
akr
3ab9be9245
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-11 16:48:04 +00:00
akr
4e8d188ead
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-11 16:28:13 +00:00
akr
62fed7c91a
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-19 10:48:22 +00:00
akr
6445aab472
* time.c (TIME_COPY_GMT): copy vtm.utc_offset and vtm.zone too.
...
patch by Tomoyuki Chikanaga.
[ruby-dev:44827] [Bug #5586 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-19 10:47:03 +00:00
nobu
413f24d3b0
* whitespace cleanup.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-04 07:19:23 +00:00
drbrain
9edfa89744
* time.c (Init_Time): Remove editorial comments from Time
...
documentation, fix link.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-06 00:17:41 +00:00
drbrain
0d900cecdf
* time.c (Init_Time): Improve Time documentation. Patch by Shane
...
Emmons. [Ruby 1.9 - Bug #5404 ]
* lib/time.rb: Improve time.rb documentation including Time.strptime.
Patch by Shane Emmons. [Ruby 1.9 - Bug #5402 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-06 00:14:55 +00:00
nobu
8e6e8e6288
* use RB_TYPE_P which is optimized for constant types, instead of
...
comparison with TYPE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-09-29 11:07:45 +00:00
akr
cf7d76f0bc
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-09-09 23:14:00 +00:00
naruse
6bc83a18b7
* internal.h (rb_strftime_timespec): moved from time.c and define only
...
if ruby/encoding.h is included.
* internal.h (rb_strftime): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-27 10:06:25 +00:00
naruse
7412263eba
* internal.h (rb_strftime_timespec): move to time.c because it depends
...
encoding.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-27 09:45:15 +00:00
naruse
23b2808693
* strftime.c (rb_strftime_with_timespec): get enc argument to specify
...
the encoding of the format. On Windows (at least Japanese Windows),
Time#strftime("%Z") includes non ASCII in locale encoding (CP932).
So convert locale to default internal. [ruby-core:39092] [Bug #5226 ]
* strftime.c (rb_strftime): ditto.
* strftime.c (rb_strftime_timespec): ditto.
* internal.h (rb_strftime_timespec): follow above.
* time.c (rb_strftime_alloc): ditto.
* time.c (strftimev): ditto.
* time.c (time_strftime): ditto.
* time.c (time_to_s): the resulted string of Time#to_s is always
ascii only, so this should be US-ASCII.
* time.c (time_asctime): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-27 09:18:18 +00:00
tenderlove
4544b3824c
* time.c (strftimev): Make Time#to_s default to US-ASCII encoding but
...
respect Encoding.default_internal. [ruby-core:39092]
* test/ruby/test_time.rb (class TestTime): Corresponding test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-25 23:24:33 +00:00
akr
2fa6ebc64d
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-25 16:39:37 +00:00
kosaki
f2f14f572d
* time.c (rb_strftime_alloc): raise ERANGE if width is too large.
...
Patch by Nobuyoshi Nakada. [Bug #4457 ] [ruby-dev:43285]
* test/ruby/test_time.rb (class TestTime): add a test for the
above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-07 14:38:17 +00:00
nobu
e2fd80b3d3
* error.c (rb_check_trusted): new function to check an object is
...
trusted.
* struct.c (rb_struct_modify), time.c (time_modify): check by the
above function to show proper class names. [Bug #5036 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-17 07:26:45 +00:00
kosaki
6270ce85ed
* time.c (time_dup): used rb_obj_class() instead of CLASS_OF().
...
The patch is made by Kazuki Tsujimoto. [Bug #5012 ] [ruby-dev:44071]
* test/ruby/test_time.rb (TestTime#test_getlocal_dont_share_eigenclass):
added a new test for eigenclass of time object.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-15 16:06:53 +00:00
kanemoto
2a5aa8cdaa
time.c: can't compile time.c on AIX due to missing declaration for
...
ffs(). It is declared in strings.h on AIX.
If I need to add something like '&& defined(_AIX)',
please let me know.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-11 14:29:45 +00:00
akr
5ed8c08aa0
* eval.c, hash.c, load.c, proc.c, range.c, thread.c, time.c: don't
...
declare internal functions.
* internal.h, vm_core.h: declare internal functions.
* array.c: include internal.h.
* common.mk: update dependency for array.o.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-18 08:26:19 +00:00
akr
afd7e4668f
* internal.h: declare more internal functions.
...
* iseq.h (rb_method_get_iseq): declared.
* compile.c, eval.c, eval_error.c, iseq.c, parse.y, proc.c, range.c,
ruby.c, time.c, util.c, vm.c: don't declare internal functions.
* eval.c, parse.y, thread_pthread.c: non-existing function declarations
removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-18 01:54:57 +00:00
akr
e7996eb3cc
* internal.h: declare internal functions here.
...
* node.h: declare NODE dependent internal functions here.
* iseq.h: declare rb_iseq_t dependent internal functions here.
* vm_core.h: declare rb_thread_t dependent internal functions here.
* bignum.c, class.c, compile.c, complex.c, cont.c, dir.c, encoding.c,
enumerator.c, error.c, eval.c, file.c, gc.c, hash.c, inits.c, io.c,
iseq.c, load.c, marshal.c, math.c, numeric.c, object.c, parse.y,
proc.c, process.c, range.c, rational.c, re.c, ruby.c, string.c,
thread.c, time.c, transcode.c, variable.c, vm.c,
tool/compile_prelude.rb: don't declare internal functions declared
in above headers. include above headers if required.
Note that rb_thread_mark() was declared as
void rb_thread_mark(rb_thread_t *th) in cont.c but defined as
void rb_thread_mark(void *ptr) in vm.c. Now it is declared as
the later in internal.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-17 22:43:38 +00:00
naruse
f45d127ada
* time.c (rb_time_new): prevent overflow by "* 1000".
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-16 19:46:08 +00:00
tadf
35c16fe35f
* time.c: a correction of doc for strftime (%v).
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-11 13:42:35 +00:00
nobu
8137c55558
* time.c (rb_gmtime_r2): adjust indent.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-07 04:50:34 +00:00
nobu
3a47cf3395
* remove trailing spaces.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-15 11:55:52 +00:00
naruse
63f39fcb40
* random.c (random_rand): remove unused variables.
...
* struct.c (rb_struct_define_without_accessor): ditto.
* strftime.c (rb_strftime_with_timespec): ditto.
* sprintf.c: ditto.
* time.c (time_asctime): remove useless GetTimeval().
* thread_pthread.c: cast to (void *) for %p.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-25 07:56:42 +00:00
naruse
48de1e292a
* addr2line.c: suppressed shorten-64-to-32 warnings.
...
* regcomp.c: ditto.
* regexec.c: ditto.
* regint.h: ditto.
* regparse.c: ditto.
* regparse.h: ditto.
* time.c: ditto.
* variable.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-31 03:44:57 +00:00
akr
0858cbf3fd
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-18 14:05:39 +00:00
akr
76fe9e893c
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-17 17:00:36 +00:00
akr
9f21d18b39
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-17 16:02:13 +00:00
akr
cf869bc14d
* time.c: parenthesize macro arguments.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 10:12:48 +00:00
nobu
2451d735a7
* time.c (leap_year_v_p): fixed typo. [ruby-dev:42631]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 09:08:29 +00:00
naruse
33356ff75b
* time.c (time_zone): use rb_locale_str_new_cstr to set encoding
...
as locale and convert its content to internal encoding.
[ruby-core:33278]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-22 05:25:15 +00:00
nobu
7735e63593
* array.c (rb_ary_and, rb_ary_or), class.c (rb_mod_init_copy),
...
gc.c (undefine_final), time.c (time_mload): get rid of
type-punning casts.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-13 22:22:18 +00:00
akr
b698066bbd
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-19 11:36:23 +00:00
nobu
25b9eb5e57
* include/ruby/ruby.h (rb_data_type_t): restructured. [ruby-dev:41862]
...
add parent member.
* error.c (rb_typeddata_inherited_p): new function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-18 07:31:54 +00:00
akr
4acc8102eb
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-17 16:12:49 +00:00
nobu
048d2e6d32
* ext/dbm/dbm.c (struct dbmdata, fdbm_key, fdbm_delete_if): fixed
...
type warnings.
* time.c (calc_tm_yday): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-16 07:40:37 +00:00
akr
b782aea75f
* time.c (guess_local_offset): use the UTC offset of an older date on
...
64bit time_t environment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-14 21:05:00 +00:00
akr
8ffda7cd14
* time.c (localtime_with_gmtoff_zone): renamed from
...
localtime_with_gmtoff and return the timezone abbreviation name.
(guess_local_offset): return the isdst and timezone abbreviation name.
(localtimew): use the returned isdst and timezone abbreviation name.
[ruby-core:31275]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-14 15:38:30 +00:00
akr
9c9cef7fe3
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-10 11:26:54 +00:00
akr
98e949f7f8
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-09 12:21:43 +00:00
akr
00f97ed41a
* time.c (find_time_t): 24:00 should be the beginning of the next
...
day even if the leap second, 23:59:60, exists.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-09 11:33:46 +00:00
akr
74d40e4196
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-08 14:39:09 +00:00
akr
c2e127a768
document %g and %G for Time#strftime.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-08 13:05:17 +00:00
akr
a5d37d10a9
* strftime.c (rb_strftime_with_timespec): support %:z and %::z.
...
[ruby-dev:41841]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-07 21:07:01 +00:00
akr
bf8cec6db1
* time.c (num_exact): fix for mathn. [ruby-dev:41599]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-22 14:13:09 +00:00
naruse
051af24359
* time.c (rb_localtime_r2): fix mixed declarations and code.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-12 16:40:25 +00:00
akr
8c7786bf58
* time.c (init_leap_second_info): check the result of
...
gmtime_with_leapsecond.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-11 14:26:57 +00:00
akr
22ce9f81c3
* time.c (find_time_t): test the result of LOCALTIME.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-10 22:37:40 +00:00
akr
cb962c5ae5
* time.c (rb_localtime_r2): fix localtime overflow check.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-10 15:45:34 +00:00
akr
094ca0281e
* time.c (rb_localtime_r2): refine localtime overflow check for
...
FreeBSD 6.4.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-10 14:10:25 +00:00
akr
82e646ea7a
* time.c (find_time_t): always outerpolate from past.
...
[ruby-core:30672] reported by Benoit Daloze.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-09 13:54:03 +00:00
akr
2a1d97cc1f
* time.c (calc_tm_yday): extracted from timegmw_noleapsecond.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-09 13:13:44 +00:00
nobu
45f6fbf339
* removed trailing spaces.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-29 18:51:39 +00:00
marcandre
914efd0b60
* proc.c (proc_lambda, unnamed_parameters): Small documentation fixes.
...
* re.c: ditto
* string.c: ditto
* time.c: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-17 21:07:46 +00:00
marcandre
7729de4d91
* array.c: Documentation: change => in call-seq to ->.
...
Harmonize "#=>" in examples. [ruby-core:30206]
* bignum.c: ditto
* class.c: ditto
* compar.c: ditto
* cont.c: ditto
* dir.c: ditto
* encoding.c: ditto
* enum.c: ditto
* enumerator.c: ditto
* error.c: ditto
* eval.c: ditto
* file.c: ditto
* gc.c: ditto
* io.c: ditto
* load.c: ditto
* marshal.c: ditto
* math.c: ditto
* numeric.c: ditto
* object.c: ditto
* pack.c: ditto
* proc.c: ditto
* process.c: ditto
* random.c: ditto
* range.c: ditto
* re.c: ditto
* ruby.c: ditto
* signal.c: ditto
* sprintf.c: ditto
* string.c: ditto
* struct.c: ditto
* thread.c: ditto
* time.c: ditto
* transcode.c: ditto
* variable.c: ditto
* vm_eval.c: ditto
* vm_method.c: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-17 21:07:33 +00:00
akr
a00247f57a
* time.c (rb_big_abs_find_minbit): use ffs().
...
* configure.in: check ffs().
* missing/ffs.c: new file.
* include/ruby/missing.h (ffs): declared.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-12 13:23:20 +00:00
usa
c76b8fcac1
* time.c (rb_big_abs_find_minbit): get rid of a warning of VC.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-10 05:13:56 +00:00
nobu
fadc3a8bbc
* time.c (rb_localtime_r2): get rid of infinite loop bug of
...
localtime() on x86_64-darwin. [ruby-core:30031]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-06 08:16:45 +00:00
usa
f6a5c0fae2
* time.c (TIMET_MAX): should be time_t, not unsigned_time_t.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-29 19:10:00 +00:00
usa
3543491916
* time.c (rb_time_unmagnify_to_float): should cast.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-29 18:59:18 +00:00
nobu
f510d9f3c4
* time.c (time_timespec): use rb_check_funcall.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-28 09:04:51 +00:00
akr
8f8e4e5ab5
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-11 06:56:28 +00:00
akr
082480dfe4
* time.c (ASCTIME): unused macro removed.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-07 12:45:02 +00:00
akr
2bbeb4c0ad
* configure.in: test localtime(3) overflow. [ruby-dev:40910]
...
* time.c (rb_gmtime_r): renamed from rb_gmtime.
(rb_localtime_r): renamed from rb_localtime.
(rb_localtime_r2): call rb_localtime_r and validate the result if
there is overflow problem.
(rb_gmtime_r2): call rb_gmtime_r and validate the result if there
is overflow problem.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-06 13:03:43 +00:00
akr
782e379f29
* time.c (cmp): optimize for fixnums.
...
(lt): use cmp.
(gt): ditto.
(le): ditto.
(ge): ditto.
(wlt): use wcmp.
(wgt): ditto.
(wle): ditto.
(wge): ditto.
(time_subsec): use wmod.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-04 13:20:29 +00:00
akr
9c50406bd5
* time.c (lt): call <=> instead of <.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-04 00:45:02 +00:00
akr
8587c246e9
* time.c: don't define STRUCT_WIDEVAL.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-03 13:48:37 +00:00
akr
c97f5f514a
* time.c (rb_big_abs_find_minbit): fix handling the last word.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-31 19:56:04 +00:00
akr
e758c3fbce
* time.c (long_mul): overflow condition changed.
...
(wi_mul): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27132 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-31 19:31:08 +00:00
akr
6024074540
* time.c (long_mul): extracted from mul and avoid integer overflow.
...
(wi_mul): extracted from wmul and avoid integer overflow.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-31 14:35:13 +00:00
akr
fbc42054e8
* time.c: less bignum allocations.
...
* strftime.c (rb_strftime_timespec): defined to avoid rational for
nano second resolution time.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-31 12:34:31 +00:00
akr
0da3fc65db
* time.c (timew2timespec): fix previous change.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-30 21:57:53 +00:00
akr
7b83aa4f3c
* time.c (wdivmod): renamed from wdivmodv. fix neg/pos and pos/neg.
...
(split_second): return number of seconds as wideval_t.
(timet2wv): new function.
(wv2timet): new function.
(timet2wideval): removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-30 15:34:33 +00:00
akr
39146c6b6b
* time.c: use more polymorphic operations.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-30 13:25:57 +00:00
akr
c4845fdf36
* time.c: reorder wide value implementation.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-30 13:07:48 +00:00
akr
08f828002b
* time.c: make wide value more polymorphic.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-30 12:58:34 +00:00
akr
0cf5d3fa96
fix previous commit for LP64.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-30 12:00:31 +00:00
akr
a00c1c00c1
* time.c (w2v): renamed from w2xv.
...
(v2w): renamed from xv2w.
(rb_time_magnify): takes wideval_t.
(rb_time_unmagnify): returns wideval_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-30 11:57:03 +00:00
akr
6c7edcb00a
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-30 00:12:21 +00:00
akr
33d1647252
* time.c: wide value condition changed.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-29 10:47:00 +00:00
akr
d8cc6ccb56
* time.c (rb_time_magnify): fix for LP64.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-28 01:13:00 +00:00
akr
c08277c62d
* time.c: rename small integer specialization related identifiers.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-28 00:54:29 +00:00
akr
86aa8f3f0f
* time.c (weq): optimize for small integer.
...
(wne): ditto.
(wlt): ditto.
(wgt): ditto.
(wle): ditto.
(wge): ditto.
(rb_time_magnify): ditto.
(rb_time_unmagnify): ditto.
(rb_time_unmagnify_to_float): new function to avoid rational for
Time#to_f and Time#-.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-27 23:24:20 +00:00
akr
075cbd2ad6
* time.c (mul): condition refined.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-27 22:14:23 +00:00