[#16732] sharing sub-regexp — Tanaka Akira <akr@...17n.org>

Oniguruma についてひとつ要望があります。

51 messages 2002/04/03
[#16744] Re: sharing sub-regexp — "K.Kosako" <kosako@...> 2002/04/04

Tanaka Akiraさんの<hvopu1hxfyd.fsf@coulee.a02.aist.go.jp>から

[#16746] Re: sharing sub-regexp — matz@... (Yukihiro Matsumoto) 2002/04/04

まつもと ゆきひろです

[#16753] Re: sharing sub-regexp — Tanaka Akira <akr@...17n.org> 2002/04/04

In article <1017890618.302241.17865.nullmailer@ev.netlab.jp>,

[#16755] Re: sharing sub-regexp — "K.Kosako" <kosako@...> 2002/04/05

Tanaka Akiraさんの<hvo7knn93ug.fsf@coulee.a02.aist.go.jp>から

[#16756] Re: sharing sub-regexp — Tanaka Akira <akr@...17n.org> 2002/04/05

In article <20020405044506.D4784349@helium.ruby-lang.org>,

[#16822] Re: sharing sub-regexp — "K.Kosako" <kosako@...> 2002/04/10

Tanaka Akiraさんの<hvopu1e4omy.fsf@coulee.a02.aist.go.jp>から

[#16831] Re: sharing sub-regexp — Tanaka Akira <akr@...17n.org> 2002/04/10

In article <20020410025054.C8DF0915@helium.ruby-lang.org>,

[#16863] Re: sharing sub-regexp — Tanaka Akira <akr@...17n.org> 2002/04/11

In article <hvor8lnchak.fsf@coulee.a02.aist.go.jp>,

[#16877] Re: sharing sub-regexp — Shugo Maeda <shugo@...> 2002/04/12

前田です。

[#16887] Re: sharing sub-regexp — Tanaka Akira <akr@...17n.org> 2002/04/12

In article <87pu15z80q.wl@studly.priv.netlab.jp>,

[#16909] Regexp#to_s — Shugo Maeda <shugo@...> 2002/04/15

前田です。

[#16912] Re: Regexp#to_s — Tanaka Akira <akr@...17n.org> 2002/04/15

In article <87g01x1e6m.wl@studly.priv.netlab.jp>,

[#16931] Re: Regexp#to_s — Kazuhiro NISHIYAMA <zn@...> 2002/04/16

西山和広です。

[#16934] Re: Regexp#to_s — Tanaka Akira <akr@...17n.org> 2002/04/16

In article <20020416180631.988E.ZN@mbf.nifty.com>,

[#16938] Re: Regexp#to_s — Shugo Maeda <shugo@...> 2002/04/17

前田です。

[#16939] Re: Regexp#to_s — Tanaka Akira <akr@...17n.org> 2002/04/17

In article <87u1qaj0xe.wl@studly.priv.netlab.jp>,

[#16947] Re: Regexp#to_s — Shugo Maeda <shugo@...> 2002/04/18

前田です。

[#16950] Re: Regexp#to_s — matz@... (Yukihiro Matsumoto) 2002/04/18

まつもと ゆきひろです

[#16951] Re: Regexp#to_s — Tanaka Akira <akr@...17n.org> 2002/04/18

In article <1019116103.420173.12691.nullmailer@picachu.netlab.jp>,

[#16960] Re: Regexp#to_s — nobu.nakada@... 2002/04/18

なかだです。

[#16761] StringIO — tadf@...

ふなばです。

43 messages 2002/04/05
[#16786] Re: StringIO — nobu.nakada@... 2002/04/08

なかだです。

[#16802] Re: StringIO — tadf@... 2002/04/09

ふなばです。

[#16803] Re: StringIO — nobu.nakada@... 2002/04/09

なかだです。

[#16804] Re: StringIO — tadf@... 2002/04/09

ふなばです。

[#17221] Re: StringIO — Wakou Aoyama <wakou@...> 2002/05/30

青山です。

[#17230] Re: StringIO — matz@... (Yukihiro Matsumoto) 2002/05/30

まつもと ゆきひろです

[#17231] Re: StringIO — Tanaka Akira <akr@...17n.org> 2002/05/30

In article <1022740594.117106.6073.nullmailer@picachu.netlab.jp>,

[#17233] IO#size — Shugo Maeda <shugo@...> 2002/05/30

前田です。

[#17239] Re: IO#size — Tanaka Akira <akr@...17n.org> 2002/05/31

In article <874rgqdt3x.wl@studly.priv.netlab.jp>,

[#17253] Re: IO#size — Wakou Aoyama <wakou@...> 2002/05/31

青山です。

[#16790] Ruby Shim — "Akinori MUSHA" <knu@...>

 1.7 early access kit という仮称で提案した構想ですが、先ほど

27 messages 2002/04/08
[#16796] Re: Ruby Shim — Koji Arai <JCA02266@...> 2002/04/08

新井です。

[#16833] math.c 1.10 — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

23 messages 2002/04/11
[#16834] Re: math.c 1.10 — matz@... (Yukihiro Matsumoto) 2002/04/11

まつもと ゆきひろです

[#16869] Makefiles dependency — nobu.nakada@...

なかだです。

17 messages 2002/04/12

[ruby-dev:16843] Re: math.c 1.10

From: nobu.nakada@...
Date: 2002-04-11 08:08:47 UTC
List: ruby-dev #16843
なかだです。

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はできる。
    中田 伸悦

In This Thread