[#4060] [patch] require problem — shugo@... (Shugo Maeda)
前田です。
新井です。
[#4076] Re: call/cc — shugo@... (Shugo Maeda)
前田@リコーです。
In message <m0zyZO8-0003EbC@crunkey.chocolate.or.jp>
えぐち@エスアンドイー です。
[#4090] finalizers — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
[#4095] Ruby on CYGWIN — TAKAHASHI Masayoshi <maki@...>
高橋です。久しぶりに書きます。
わたなべです.
高橋です。Rubyのリンク集から見つけたのですが、sgmailって
前橋です。
高橋です。
前橋です。
[#4186] UTF-8 patch for Ruby-1.2.1 — Yoshida Masato <yoshidam@...>
よしだです
まつもと ゆきひろです
[#4193] open with O_CREAT|O_EXCL — 民斗 <tommy@...>
民斗です。
[#4203] Compile via WATCOM C — ARIMA Yasuhiro <fit0298@...>
有馬です。
Regard to "[ruby-dev:4204] Re: Compile via WATCOM C"
Regard to "[ruby-dev:4215] Re: Compile via WATCOM C"
[#4237] extmk.rb.in patch, environment variable — Ryo HAYASAKA <hayasaka@...>
早坂@会津大学です。
まつもと ゆきひろです
[#4244] %//, %!! — Wakou Aoyama <wakou@...>
青山です。
[#4248] patch for ruby-mswin32 — Koji Oda <oda@...1.qnes.nec.co.jp>
小田@QNES です。
まつもと ゆきひろです
わたなべです.
まつもと ゆきひろです
小田@QNES です。
小田@QNES です。
[#4290] signed/unsigned char — ARIMA Yasuhiro <fit0298@...>
有馬です。
えぐち@エスアンドイー です。
Regard to "[ruby-dev:4292] Re: signed/unsigned char"
えぐち@エスアンドイー です。
笠原です。
Regard to "[ruby-dev:4295] Re: signed/unsigned char"
[#4302] ruby-1.3 MacRuby patch — 藤本尚邦 / Hisakuni FUJIMOTO <hisa@...>
藤本です。こんにちは。
まつもと ゆきひろです
[#4306] MacRuby 1.3 binary test release — 藤本尚邦 / Hisakuni FUJIMOTO <hisa@...>
藤本です。
[#4327] pack("F") for bigendian float — gotoken@... (GOTO Kentaro)
ごとけんです。
ごとけんです
ごとけんです
まつもと ゆきひろです
ごとけんです
山下 純司です。
ごとけんです
まつもと ゆきひろです
ごとけんです
[#4341] cascades on ruby — Kazunori NISHI <kazunori@...>
西@九大です。
ひわだです。
西@九大です。
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
前田です。
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
[#4347] ordered number — "D.Kanda" <MAP2303@...>
[#4349] Re: [ruby-list:11707] Re: ruby 1.2.2 released — EGUCHI Osamu <eguchi@...>
えぐち@エスアンドイー です。
えぐち@エスアンドイー です。
えぐち@エスアンドイー です。
まつもと ゆきひろです
えぐち@エスアンドイー です。
まつもと ゆきひろです
えぐち@エスアンドイー です。
まつもと ゆきひろです
えぐち@エスアンドイー です。
笠原です。
えぐち@エスアンドイー です。
笠原です。
立石です。
えぐち@エスアンドイー です。
[#4419] Re: module Precision — Inaba Hiroto <inaba@...>
ごとけんです
From: gotoken@math.sci.hokudai.ac.jp (GOTO Kentaro)
ごとけんです
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
ごとけんです
[#4420] ruby 1.3.1-990126 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
えぐち@エスアンドイー です。
[#4442] Forward: ruby 1.3.1-990126 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#4452] permit to put a comma — Koji Arai <JCA02266@...>
新井です。
まつもと ゆきひろです
新井です。
[#4480] option -h — Wakou Aoyama <wakou@...>
青山です。
[#4481] bug? thread — WATANABE Tetsuya <tetsu@...>
渡辺哲也です。
[#4498] cookie on cgi-lib.rb — IKARASHI Akira <ikarashi@...>
五十嵐です。
[#4518] Inf.0 — gotoken@... (GOTO Kentaro)
ごとけんです
[ruby-dev:4365] Re: pack("F") for bigendian float
ごとけんです
In message "[ruby-dev:4337] Re: pack("F") for bigendian float"
on 99/01/25, GOTO Kentaro <gotoken@math.sci.hokudai.ac.jp> writes:
> つまり,前の D,F は放棄して,
>
> e リトルエンディアンの単精度浮動小数点数(機種依存)
> E リトルエンディアンの倍精度浮動小数点数(機種依存)
> g ビッグエンディアンの単精度浮動小数点数(機種依存)
> G ビッグエンディアンの倍精度浮動小数点数(機種依存)
これを実装しました.とりこんでもらえますか??
-- gotoken
--- ruby-1.3-orig/pack.c Wed Dec 23 01:22:26 1998
+++ ruby-1.3/pack.c Tue Jan 26 04:40:40 1999
@@ -21,0 +22,18 @@
+#define swapf(x) swapl(x)
+
+static double
+swapd(d)
+const double d;
+{
+ double dtmp = d;
+ unsigned long utmp[2];
+ unsigned long utmp0;
+
+ utmp[0] = 0; utmp[1] = 0;
+ memcpy(utmp,&dtmp,sizeof(double));
+ utmp0 = utmp[0];
+ utmp[0] = swapl(utmp[1]);
+ utmp[1] = swapl(utmp0);
+ memcpy(&dtmp,utmp,sizeof(double));
+ return dtmp;
+}
@@ -44,0 +63,2 @@
+#define ntohf(x) (endian()?(x):swapf(x))
+#define ntohd(x) (endian()?(x):swapd(x))
@@ -46,0 +67,2 @@
+#define htonf(x) (endian()?(x):swapf(x))
+#define htond(x) (endian()?(x):swapd(x))
@@ -48,0 +71,2 @@
+#define htovf(x) (endian()?swapf(x):(x))
+#define htovd(x) (endian()?swapd(x):(x))
@@ -50,0 +75,2 @@
+#define vtohf(x) (endian()?swapf(x):(x))
+#define vtohd(x) (endian()?swapd(x):(x))
@@ -58,0 +85,4 @@
+#define ntohf(x) (x)
+#define ntohd(x) (x)
+#define htonf(x) (x)
+#define htond(x) (x)
@@ -60,0 +91,2 @@
+#define htovf(x) swapf(x)
+#define htovd(x) swapd(x)
@@ -62,0 +95,2 @@
+#define vtohf(x) swapf(x)
+#define vtohd(x) swapd(x)
@@ -69,0 +104,4 @@
+#define ntohf(x) swapf(x)
+#define ntohd(x) swapd(x)
+#define htonf(x) swapf(x)
+#define htond(x) swapd(x)
@@ -70,0 +109,2 @@
+#define htovf(x) (x)
+#define htovd(x) (x)
@@ -73,0 +114,2 @@
+#define vtohf(x) (x)
+#define vtohd(x) (x)
@@ -401,0 +444,43 @@
+ case 'e':
+ while (len-- > 0) {
+ float f;
+ unsigned long ultemp;
+
+ from = NEXTFROM;
+ switch (TYPE(from)) {
+ case T_FLOAT:
+ f = RFLOAT(from)->value;
+ break;
+ case T_STRING:
+ f = atof(RSTRING(from)->ptr);
+ default:
+ f = (float)NUM2INT(from);
+ break;
+ }
+ memcpy(&ultemp,&f,sizeof(float));
+ ultemp = htovf((unsigned long)ultemp);
+ memcpy(&f,&ultemp,sizeof(float));
+ rb_str_cat(res, (char*)&f, sizeof(float));
+ }
+ break;
+
+ case 'E':
+ while (len-- > 0) {
+ double d;
+
+ from = NEXTFROM;
+ switch (TYPE(from)) {
+ case T_FLOAT:
+ d = RFLOAT(from)->value;
+ break;
+ case T_STRING:
+ d = atof(RSTRING(from)->ptr);
+ default:
+ d = (double)NUM2INT(from);
+ break;
+ }
+ d = htovd(d);
+ rb_str_cat(res, (char*)&d, sizeof(double));
+ }
+ break;
+
@@ -421,0 +507,43 @@
+ case 'g':
+ while (len-- > 0) {
+ float f;
+ unsigned long ultemp;
+
+ from = NEXTFROM;
+ switch (TYPE(from)) {
+ case T_FLOAT:
+ f = RFLOAT(from)->value;
+ break;
+ case T_STRING:
+ f = atof(RSTRING(from)->ptr);
+ default:
+ f = (float)NUM2INT(from);
+ break;
+ }
+ memcpy(&ultemp,&f,sizeof(float));
+ ultemp = htonf((unsigned long)ultemp);
+ memcpy(&f,&ultemp,sizeof(float));
+ rb_str_cat(res, (char*)&f, sizeof(float));
+ }
+ break;
+
+ case 'G':
+ while (len-- > 0) {
+ double d;
+
+ from = NEXTFROM;
+ switch (TYPE(from)) {
+ case T_FLOAT:
+ d = RFLOAT(from)->value;
+ break;
+ case T_STRING:
+ d = atof(RSTRING(from)->ptr);
+ default:
+ d = (double)NUM2INT(from);
+ break;
+ }
+ d = htond(d);
+ rb_str_cat(res, (char*)&d, sizeof(double));
+ }
+ break;
+
@@ -914,0 +1043,56 @@
+ case 'e':
+ if (len >= (send - s) / sizeof(float))
+ len = (send - s) / sizeof(float);
+ while (len-- > 0) {
+ float tmp;
+ unsigned long ultemp;
+
+ memcpy(&tmp, s, sizeof(float));
+ memcpy(&ultemp,&tmp,sizeof(float));
+ ultemp = vtohf((unsigned long)ultemp);
+ memcpy(&tmp,&ultemp,sizeof(float));
+ s += sizeof(float);
+ rb_ary_push(ary, rb_float_new((double)tmp));
+ }
+ break;
+
+ case 'E':
+ if (len >= (send - s) / sizeof(double))
+ len = (send - s) / sizeof(double);
+ while (len-- > 0) {
+ double tmp;
+ memcpy(&tmp, s, sizeof(double));
+ tmp = vtohd(tmp);
+ s += sizeof(double);
+ rb_ary_push(ary, rb_float_new(tmp));
+ }
+ break;
+
+ case 'g':
+ if (len >= (send - s) / sizeof(float))
+ len = (send - s) / sizeof(float);
+ while (len-- > 0) {
+ float tmp;
+ unsigned long ultemp;
+
+ memcpy(&tmp, s, sizeof(float));
+ memcpy(&ultemp,&tmp,sizeof(float));
+ ultemp = ntohf((unsigned long)ultemp);
+ memcpy(&tmp,&ultemp,sizeof(float));
+ s += sizeof(float);
+ rb_ary_push(ary, rb_float_new((double)tmp));
+ }
+ break;
+
+ case 'G':
+ if (len >= (send - s) / sizeof(double))
+ len = (send - s) / sizeof(double);
+ while (len-- > 0) {
+ double tmp;
+ memcpy(&tmp, s, sizeof(double));
+ tmp = ntohd(tmp);
+ s += sizeof(double);
+ rb_ary_push(ary, rb_float_new(tmp));
+ }
+ break;
+