[#23884] Ruby 1.8.2 preview1にむけて — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

34 messages 2004/07/13
[#23917] Re: Ruby 1.8.2 preview1にむけて — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/07/16

山本です。

[#23920] Re: Ruby 1.8.2 preview1にむけて — "NAKAMURA, Hiroshi" <nakahiro@...> 2004/07/16

なひです。

[#23922] ruby 1.8.2 preview1 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

27 messages 2004/07/16

[#23995] String#each -> String#each_char — Shugo Maeda <shugo@...>

前田です。

27 messages 2004/07/30
[#23996] Re: String#each -> String#each_char — matz@... (Yukihiro Matsumoto) 2004/07/30

まつもと ゆきひろです

[#23997] Re: String#each -> String#each_char — "U.Nakamura" <usa@...> 2004/07/30

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

[#23999] Re: String#each -> String#each_char — matz@... (Yukihiro Matsumoto) 2004/07/30

まつもと ゆきひろです

[#24000] Re: String#each -> String#each_char — "U.Nakamura" <usa@...> 2004/07/30

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

[#24005] Re: String#each -> String#each_char — Minero Aoki <aamine@...> 2004/07/31

青木です。

[#24012] Re: String#each -> String#each_char — Shugo Maeda <shugo@...> 2004/08/01

前田です。

[#24014] Re: String#each -> String#each_char — Minero Aoki <aamine@...> 2004/08/02

青木です。

[ruby-dev:23857] Re: Are these comittable?

From: "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
Date: 2004-07-04 06:19:05 UTC
List: ruby-dev #23857
山本です。

nobu.nakada@nifty.ne.jp wrote:
(2004/07/04 14:56)

>strncasecmp()を使って下さい。また、除数も 0.0 にしないとgccが警
>告を出します。

わかりました、そうします。

Index: util.c
===================================================================
RCS file: /var/cvs/src/ruby/util.c,v
retrieving revision 1.43
diff -u -w -b -p -r1.43 util.c
--- util.c	14 May 2004 03:17:29 -0000	1.43
+++ util.c	4 Jul 2004 06:11:56 -0000
@@ -750,6 +750,7 @@ ruby_strtod(string, endPtr)
 				 * in string. */
     const char *pExp;		/* Temporarily holds location of exponent
 				 * in string. */
+    int frac1, frac2;
 
     /*
      * Strip off leading blanks and check for a sign.
@@ -772,6 +773,22 @@ ruby_strtod(string, endPtr)
     }
 
     /*
+     * Check for NaN and Inf.
+     */
+
+    if (strncasecmp(p, "NaN", 3) == 0) {
+	p += 3;
+	fraction = 0.0 / 0.0;
+	goto exit;
+    }
+
+    if (strncasecmp(p, "Inf", 3) == 0) {
+	p += 3;
+	fraction = 1.0 / 0.0;
+	goto exit;
+    }
+
+    /*
      * Count the number of digits in the mantissa
      * and also locate the decimal point.
      */
@@ -812,8 +829,7 @@ ruby_strtod(string, endPtr)
 	fracExp += (mantSize - 18);
 	mantSize = 18;
     }
-    {
-	int frac1, frac2;
+
 	frac1 = 0;
 	for ( ; mantSize > 9; mantSize -= 1) {
 	    c = *p;
@@ -920,12 +936,11 @@ ruby_strtod(string, endPtr)
 	else {
 	    fraction += frac2 * dblExp;
 	}
-    }
 
+  exit:
     if (endPtr != NULL) {
 	*endPtr = (char *) p;
     }
-
     if (sign) {
 	return -fraction;
     }



In This Thread