[#16708] includedir — nobu.nakada@...
なかだです。
[#16732] sharing sub-regexp — Tanaka Akira <akr@...17n.org>
Oniguruma についてひとつ要望があります。
Tanaka Akiraさんの<hvopu1hxfyd.fsf@coulee.a02.aist.go.jp>から
まつもと ゆきひろです
In article <1017890618.302241.17865.nullmailer@ev.netlab.jp>,
Tanaka Akiraさんの<hvo7knn93ug.fsf@coulee.a02.aist.go.jp>から
In article <20020405044506.D4784349@helium.ruby-lang.org>,
Tanaka Akiraさんの<hvopu1e4omy.fsf@coulee.a02.aist.go.jp>から
In article <20020410025054.C8DF0915@helium.ruby-lang.org>,
In article <hvor8lnchak.fsf@coulee.a02.aist.go.jp>,
前田です。
In article <87pu15z80q.wl@studly.priv.netlab.jp>,
前田です。
In article <87g01x1e6m.wl@studly.priv.netlab.jp>,
西山和広です。
In article <20020416180631.988E.ZN@mbf.nifty.com>,
前田です。
In article <87u1qaj0xe.wl@studly.priv.netlab.jp>,
前田です。
まつもと ゆきひろです
In article <1019116103.420173.12691.nullmailer@picachu.netlab.jp>,
前田です。
なかだです。
In article <200204181023.g3IANgM21124@sharui.nakada.kanuma.tochigi.jp>,
まつもと ゆきひろです
In article <1019140164.869863.14833.nullmailer@picachu.netlab.jp>,
[#16757] === — "Akinori MUSHA" <knu@...>
Array, Hash, Proc などで、 === が以下のように定義されていると
[#16761] StringIO — tadf@...
ふなばです。
なかだです。
ふなばです。
なかだです。
ふなばです。
青山です。
まつもと ゆきひろです
In article <1022740594.117106.6073.nullmailer@picachu.netlab.jp>,
前田です。
In article <874rgqdt3x.wl@studly.priv.netlab.jp>,
青山です。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
青山です。
[#16776] Ruby 1.7.2 segfault — takuma ozawa <metal@...>
小澤といいます。
なかだです。
[#16790] Ruby Shim — "Akinori MUSHA" <knu@...>
1.7 early access kit という仮称で提案した構想ですが、先ほど
新井です。
At Tue, 9 Apr 2002 02:12:27 +0900,
なかだです。
[#16816] remove_const: cannot remove constant — Koji Arai <JCA02266@...>
新井です。
[#16833] math.c 1.10 — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
まつもと ゆきひろです
さくです。
なかだです。
まつもと ゆきひろです
[#16868] make error on debian potato — Wakou Aoyama <wakou@...>
青山です。
[#16869] Makefiles dependency — nobu.nakada@...
なかだです。
わたなべです。
なかだです。
わたなべです。
なかだです。
わたなべです。
なかだです。
[#16894] compile failure in process.c, setpgrp() & setpgid() — Ryo HAYASAKA <ryoh@...>
早坂@北陸先端です.
[#16923] Module::new with block is useful? — "Shin'ya Adzumi" <adzumi@...>
あづみです。
[#16978] Re: [rubyist:1343] Re: another sample for the Method — Koji Arai <JCA02266@...>
新井です。
[#16989] making Proc in C (Re: [rubyist:1356] Re: another sample for the Method) — nobu.nakada@...
なかだです。
[ruby-dev:16843] Re: math.c 1.10
なかだです。
At Thu, 11 Apr 2002 15:23:40 +0900,
OZAWA -Crouton- Sakuro wrote:
> asinh(x) = log(x + √(x^2+1)) [-∞<x<∞]
> acosh(x) = log(x + √(x^2-1)) [x>=1]
> NaN [otherwise] errno=EDOM
> atanh(x) = (1/2) * log((1+x)/(1-x)) [-1<x<1]
> NaN [otherwise] errno=EDOM
>
> だそうです。
>
> x<0のときは、
> asinh(x) = -log(√(x^2+1)-x)
> として桁落ちを防ぎ、
これは、sinhは(0,0)に対して点対称なので、絶対値を取っておいて最
後に符号を戻せばいいですよね。
> x≒0のときは級数展開して
> asinh(x) = x - x^3/6 ...
Σ(-1^i*-x^(2i-1)/(2i-1)!) ?
> atanh(x) = x + x^3/3 ...
Σ(x^(2i-1)/(2i-1)) ?
> を使え、と奥村先生の本に載ってました。
> 数値計算上は、0と比較しちゃいけませんので極小のεを定義しなきゃなりませんが。
(1.0/(1<<DBL_MANT_DIG/2))くらいでいいですかね。
久しぶりだからこれでいいのかどうか…。
#include <errno.h>
#include <math.h>
#define BIG_CRITERIA (1.0*(1<<(DBL_MANT_DIG/2+2)))
#define SMALL_CRITERIA (1.0/(1<<DBL_MANT_DIG/2))
double
acosh(x)
double x;
{
if (x < 1)
x = -1; /* NaN */
else if (x == 1)
return 0;
else if (x < BIG_CRITERIA)
x += sqrt((x + 1) * (x - 1));
else
x += x;
return log(x);
}
#include <errno.h>
#include <math.h>
#include <float.h>
#define BIG_CRITERIA (1.0*(1<<(DBL_MANT_DIG/2+2)))
#define SMALL_CRITERIA (1.0/(1<<DBL_MANT_DIG/2))
double
asinh(x)
double x;
{
int neg = x < 0;
double z;
if (x == 0) return x;
z = fabs(x);
if (z < SMALL_CRITERIA) {
double f = 1, d = z, x2 = z * z, zn;
int i = 1;
while (f *= ++i, f *= ++i, (zn = z + (d = -d * x2 / f)) != z)
z = zn;
}
else {
z = log(z + (z > BIG_CRITERIA ? z : sqrt(z * z + 1)));
}
if (neg) z = -z;
return z;
}
#include <errno.h>
#include <math.h>
#include <float.h>
#define BIG_CRITERIA (1.0*(1<<(DBL_MANT_DIG/2+2)))
#define SMALL_CRITERIA (1.0/(1<<DBL_MANT_DIG/2))
double
atanh(x)
double x;
{
int neg = x < 0;
double z;
if (x == 0) return x;
z = fabs(x);
if (z < SMALL_CRITERIA) {
double f = 1, d = z, x2 = z * z, zn;
while ((zn = z + (d = d * x2 / (f += 2))) != z)
z = zn;
}
else {
z = log(z > 1 ? 0 : (1 + z) / (1 - z)) / 2;
}
if (neg) z = -z;
return z;
}
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦