[#28561] Ruby::DL vs Ruby::FFI — Aston <blackapache512-ticket@...>

Ruby.DL and FFI libraries are great for programmers like me who are not internet programmers, but are more interested in scientific and number processing etc.

11 messages 2010/03/08

[#28686] trunk (26947) build fail with msys/mingw/vista — Jon <jon.forums@...>

I get the following build failure when msysgit's "c:\git\cmd" dir is on PATH.

8 messages 2010/03/16

[#28687] [Bug #2973] rb_bug - Segmentation fault - error.c:213 — rudolf gavlas <redmine@...>

Bug #2973: rb_bug - Segmentation fault - error.c:213

10 messages 2010/03/16

[#28735] [Bug #2982] Ruby tries to link with both openssl and readline — Lucas Nussbaum <redmine@...>

Bug #2982: Ruby tries to link with both openssl and readline

16 messages 2010/03/18

[#28736] [Bug #2983] Ruby (GPLv2 only) tries to link to with readline (now GPLv3) — Lucas Nussbaum <redmine@...>

Bug #2983: Ruby (GPLv2 only) tries to link to with readline (now GPLv3)

10 messages 2010/03/18

[#28907] [Bug #3000] Open SSL Segfaults — Christian Höltje <redmine@...>

Bug #3000: Open SSL Segfaults

19 messages 2010/03/23

[#28924] [Bug #3005] Ruby core dump - [BUG] rb_sys_fail() - errno == 0 — Sebastian YEPES <redmine@...>

Bug #3005: Ruby core dump - [BUG] rb_sys_fail() - errno == 0

10 messages 2010/03/24

[#28954] [Feature #3010] slow require gems in ruby 1.9.1 — Miao Jiang <redmine@...>

Feature #3010: slow require gems in ruby 1.9.1

15 messages 2010/03/24

[#29179] [Bug #3071] Convert rubygems and rdoc to use psych — Aaron Patterson <redmine@...>

Bug #3071: Convert rubygems and rdoc to use psych

10 messages 2010/03/31

[ruby-core:28615] Re: [Bug #2952] Time.strftime format %N

From: "NARUSE, Yui" <naruse@...>
Date: 2010-03-11 17:24:18 UTC
List: ruby-core #28615
(2010/03/11 17:42), Russell Penney wrote:
> Issue #2952 has been updated by Russell Penney.
>
>
> Firstly to_r is not defined for Time at least in 1.9.1

Ah, yes, it's a 1.9.2's feature.

Anyway, you may think 1236922275.8516 is 12369222758516/10000.
But actually it is floating point number,
so its true value is 5188028049293469/4194304.

When you get (5188028049293469/4194304).to_f will be
1236922275.8516.
Why this works is because precision of Ruby's Float is
16 decimal digits.

When you get %N, it is calculated by only less than one value;
in 1.9.2 words t2.subsec, it is (3571869/4194304).
this precision is counted from 0, so its precision is higher than
that of before.
So (3571869/4194304).to_f is 0.8515999317169189.

You may find that previous 0.8516 is a rounded value from 0.8515999.

> Also try
>
> t = Time.at(1236922275, 8516)
> puts t.strftime("%s.%6N")
>
> it prints
> 1236922275.008516
> which is wrong. It should be 1236922275.851600

It's correct.
Time#at's second argument is microsecond, and %6N is microsecond.
so 008516 is correct output.

You should try Time.at(1236922275, 851600).strftime("%N") and get:
=> "851600000"


-- 
NARUSE, Yui  <naruse@airemix.jp>

In This Thread