From: shugo@... (Shugo Maeda) Date: 1998-03-11T21:17:08+09:00 Subject: [ruby-dev:1694] Re: [ruby-list:7057] Re: infinity --Multipart_Wed_Mar_11_21:03:03_1998-1 Content-Type: text/plain; charset=ISO-2022-JP 前田です。 In message "[ruby-dev:1689] Re: [ruby-list:7057] Re: infinity" 石塚圭樹 wrote: |>僕は一応夜に寝て、朝起きてます(^^; | |大学生なのに健康的な生活してますね(^^;;; といっても3時に寝て9時に起きるという感じですから、あまり 変わりませんけど(^^; |>|どうせなら IEEE fp互換モジュールですかね? それはそれで良いかも知れない |>|ですね. そのモジュールをrequireすると, Inf/Nanが取り扱えるようになり例 |>|外も発生しなくなる. |> |>その方が良いかもしれませんね。 |># raise_infnan_errorをCからしかアクセスできなくして、 |># Float::Inf/Float#inf?などの定義をモジュールに移せばよいのかな。 | |それでもいいし, 別のメソッドを上書きしても良いし. float_newは直に呼ばれるので上書きできませんよね? # という意味のことでしょうか。 とりあえず別モジュールとして作ってみました。 うちのmath.hには入っていないのですが、normal?/subnormal?/zero?も 一応加えてあります。 あとnumeric.cでfiniteを使っているのですが、finiteがない環境では #ifndef HAVE_FINITE #define INFINITY (1.0 / 0.0) #define finite(x) (-INFINITY < x && x < INFINITY) #endif としています。 たぶんこれでfinite(Inf)やfinite(NaN)は偽になると思うのですが、 もっと上手い方法はないでしょうか。 -- 前田 修吾 --Multipart_Wed_Mar_11_21:03:03_1998-1 Content-Type: application/octet-stream; type=gzip Content-Disposition: attachment; filename="ruby-1.1b9.diff.gz" Content-Transfer-Encoding: base64 H4sICEZ5BjUAA3J1YnktMS4xYjkuZGlmZgDtV9ty2zYQfTa/Yqs2CWlSKinLN9lK7CRyq9aW M7ac1LkMhwJBCQlNKiToyOnk37u4kPQtGqXjx/BBhIA9i7O7ByDQbDaBpEnEJkVGWyxppRmb rLyhIRwFGXgeeNvdzlrX3cTG9pZh2/YN89uWm113S1nu7UHT8zrOJtjqtbdnwArIh2dFQgJO gUxz9pUCZxc0h0K9IpLwGOKUfIogp5yJ3ux9hcWurGCheFP9zqrGRA9MygFs3IDOJtmsDRPR QBN8T7K0mOWyJ2MYO796bzS1fRinM5pAziazLCUXQf5JtAPCWZqAj94+Xswsw/4Ba4hYwji1 DGARcJpzaPwWEJ9c+hFmxM95FolwG9CDJN0BPqWJIZ3vv/BPRydnL0b+aHDUf3s87Ff9o5Nz /3Aw/Nt898ExmljOpMCEMdIiqpajgqoKueC63Y4oUl3LyvZ6Idto1umuuXUh22vOBtj4uy3L aMDr/cOzPtC3NEtfsssd7LJzHnBGypFBEg2D4Y5hs4RDFrCc+iyJkiDxaZalGQbo4aABg5eQ jf0oCy6oHwc5l4kwrZ1yiihOA+4n9IvsC9NiHFMYs0k7HMeiS8ps3XWQtu2trzltTzIUT0Z5 kSUiRER+ExR/ZVES0gj+3H/d9w8Gw8Goj53YwxIKg6HsOQfTa7nwO7gt16pHVeHMuQVms7Lc hTk8fow/uxVaQGgSskgEJ0MwrsUQWoqajiNEYv8aTdEz7L85fv6XGcXcAZRBQTicHAgcxmhL 8V7vhFU0FPmTQ6gl854UI7NfNO3QEjo9ETamLo0DjUdRw4HQqvygT6yLeWOmVQvLg9TT8UdZ AfEg0dP+6OyVYkuknQMj/+DweH8kjJQZjjafXgYx6q8nQpWl2tiSO8KWp3cE8ZAp6m5cRO/W 2h8qdI7rMeGRif2C6gSpnsgJxKyWdoyTNcsMIG0yzZT9k9YTC3o9cC3Mb5UjnYx73IhcfRcP K0LDMa7tnjDChjASca5I5qssCdVQjadPZB7k2lnvOG0XV8/GpuO1ZdAoCD9kl+bcgSutCKV2 0VFrYjAcQeRf6RhrzTR1hr4wTqZgjs5f9c0rS1JVDwlyKuox+Gd4dtTF/Qy9IEP830afaIs+ VmRGRL8ME1eJ/xVXs6Alh/XqqbWr0zYvk4ZLxFScLHQjVPRDmJpMKauK9/PBH5q3yGu52GvW oeTc+r+sw6W51lPf4SiNu5qQhl5V0O/wg6Vmve2tnhv3oqCIebd2JCYgKc0I9ccsUYJSK63j dsSe3XG3cW90pezEHgjXt2nDFkqccC1E+7YQbb14tPQCB8bVZhFgaW6TL7equ8K07xWmvTIW G84dRYj6jDMafKpmu6MNBb2uje9CdKkU4nZy78NVabYXp1maf1MvbWgG8BTG1jP8Vve7B/uH p300+yZc35N3+jPvD5n33rKJj38K/iETv7t03n8K/kHzvozg5VmDfo4XnDX0TU1+Lrw2nqHr kxme/dT517+gfJqGJjlgc+SIJ7Kc0xmeySI290XTgXb5nVoAkjc8jQpT+c/B04e8PwioPpti +monBK8FudlQI31xskUHtD8ndCauVuWs6hgK90HlCILIUN126iMqmhbiRlAyfXG4f3rqHx+Y ypuFlPEj3SjvGd76tkrSBn5U3UVZUkfixuqqCBYrMEu/OOAtyJAG9HoaQD8vZb/be6oB5GKm EPZihLAH9dlfzr5kNKFL2e+W/uPl/O+W/mO6VMSo5WdVjuKlINMgn2qIaGrFLcbw1GcaI5oK 8x/s/iFeLREAAA== --Multipart_Wed_Mar_11_21:03:03_1998-1 Content-Type: application/octet-stream; type=tar+gzip Content-Disposition: attachment; filename="ieeefp.tar.gz" Content-Transfer-Encoding: base64 H4sIAFJ7BjUAA+1XUW/aMBDmdf4VFnuBqgOHEHhg68Qk0CLRVAJaTXuJAjiL1ZBsTtKtm/rf d3YIoQtN+rAwTfX3QnI+f/7s810ORil1v3YbdQL3ydAwcANjbWhoh78ZCMYDg2h9cCNDGNYI GTSwUauqHZIodjjGjchLvoQlflXj/ylYGv/LsWVOJ4tlLWuIaPb7JfHXjV38B0QXz1pPG+gN TGpR8wdeePyzwCP6I16HgdvhK5Teic4a/WtxCrVjl/9ZyGtZoyL/dX04yPIfvgA9kf+GZqj8 PwW6ZziLPT7rIvSaBWs/2VD8duvEXse7yC1NnqzuO14TiVpBeYBvxrPrCV5P/dCJR5mRBTHm DouozQI3cAKbch7ykWB2N9TFH8c3E3tqWuZyguDoY7ZOeZDrh7bLAhbTluvHbSSuRroCvI7Q L2lgLm7tnObT2dV4KX3fXNw5fkLbbfSK0zgBFcv59WQkZ1A/onvzdDxbgP0BvabBBrhg9wd6 dgeQyzQXpjUtqoSNlUkUB0Bj/A6zSHge0Tna7wUcc9GmtexNzU/S+DzxBzKPiLfGVlE8hKTi fFkkfP7m8UopxwRezS/HsyMaQ751/GqZqdsplC6uPzwlNkpWz9Sbe55C8ufJ/Kqo9iflYaVQ 6VSPxruQbZAJCWynZafV3q1crBmQQSRdg69s2BgLqA0tShS30pJzjptm4DbPQT+82QH93tI6 BHcx6ZB2u2Km5ViPZpLDmUdK1WOyLY29cJOzpSXpfcq4q2LnmAgqeRBHqko5IZxDxgaPJVQi x8up4DwzKngso0oveAWbvMB7QvlWwpnnTTntPjUy5r2hhFze8HJecZMzSvH8iO1BNbhZ/5d3 /zWsUfX/Tx9oWf/X6+kEhnXSV///TgJOvyWMQ3O3vd260NpB0facO2p71NlQ3mqmXWBTfC6k 3Wcr7vB7GGju614+6ibBuvWEVXZDRSPUpCNGmfpF+74qFIdEdkvrmlMnhkrg3EJJ8CmMySsO Y5D1SKW8goKCgoKCgoKCgoKCgoKCgoKCwkvBb7V/ZScAKAAA --Multipart_Wed_Mar_11_21:03:03_1998-1--