[#34261] ComplexFloat — "Kenta Murata" <muraken@...>

村田です.

117 messages 2008/04/06
[#34280] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/10

村田です.

[#34286] Re: ComplexFloat — Nobuyoshi Nakada <nobu@...> 2008/04/10

なかだです。

[#34288] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/10

むらたです.

[#34290] Re: ComplexFloat — "U.Nakamura" <usa@...> 2008/04/10

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

[#34293] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/10

むらたです.

[#34296] Re: ComplexFloat — "U.Nakamura" <usa@...> 2008/04/10

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

[#34298] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/10

むらたです.

[#34300] Re: ComplexFloat — Tanaka Akira <akr@...> 2008/04/10

In article <761216ce0804100221x67f10f12iab12b0e35b6f50e4@mail.gmail.com>,

[#34301] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/10

むらたです.

[#34303] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/04/10

まつもと ゆきひろです

[#34314] Re: ComplexFloat — Tadayoshi Funaba <tadf@...> 2008/04/10

利点としては、拡張ライブラリが書きやすい、ということ。正当化の理由とし

[#34316] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/10

むらたです.

[#34317] Re: ComplexFloat — Tadayoshi Funaba <tadf@...> 2008/04/10

> 私にはいびつな進化という感じはしません.むしろ,せっかく C で実装できるのに

[#34318] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/10

むらたです.

[#34322] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/04/10

まつもと ゆきひろです

[#34328] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/11

むらたです.

[#34331] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/04/11

まつもと ゆきひろです

[#34340] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/11

むらたです.

[#34341] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/04/11

まつもと ゆきひろです

[#34362] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/12

むらたです.

[#34363] Re: ComplexFloat — Tanaka Akira <akr@...> 2008/04/12

In article <761216ce0804120723n16bfbad7qdae90f142978d256@mail.gmail.com>,

[#34367] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/12

むらたです.

[#34368] Re: ComplexFloat — Tanaka Akira <akr@...> 2008/04/12

In article <761216ce0804121011h6132d58fh4916ecbb29d58690@mail.gmail.com>,

[#34369] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/12

むらたです.

[#34364] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/04/12

まつもと ゆきひろです

[#34366] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/12

むらたです.

[#34386] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/04/13

まつもと ゆきひろです

[#34415] Re: ComplexFloat — "Kenta Murata" <muraken@...> 2008/04/15

むらたです.

[#34439] Re: ComplexFloat — Shin-ichiro HARA <sinara@...> 2008/04/17

原です。

[#34442] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/04/17

まつもと ゆきひろです

[#34451] Re: ComplexFloat — Shin-ichiro HARA <sinara@...> 2008/04/18

原です。

[#34455] Re: ComplexFloat — Tadayoshi Funaba <tadf@...> 2008/04/18

> 1. ComplexFloat を組込みにし、Complex を標準ライブラリとして提供する。

[#34457] Re: ComplexFloat — Shin-ichiro HARA <sinara@...> 2008/04/20

原です。

[#34458] Re: ComplexFloat — Tadayoshi Funaba <tadf@...> 2008/04/20

> 分かりににくかったですが、これは、ComplexFloat を含めた組込みの数体系が

[#34502] Re: ComplexFloat — sheepman <sh@...> 2008/04/24

こんばんは sheepman です。

[#34601] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/05/07

まつもと ゆきひろです

[#34603] Re: ComplexFloat — keiju@... (石塚圭樹) 2008/05/07

けいじゅ@いしつかです.

[#34614] Re: ComplexFloat — Yukihiro Matsumoto <matz@...> 2008/05/08

まつもと ゆきひろです

[#34621] Re: ComplexFloat — keiju@... (石塚圭樹) 2008/05/08

けいじゅ@いしつかです.

[ruby-dev:34445] ARGF.dup.rewind do not rewind lineno

From: "Yusuke ENDOH" <mame@...>
Date: 2008-04-17 15:20:54 UTC
List: ruby-dev #34445
遠藤と申します。

ARGF.dup を rewind すると lineno がおかしくなります。

$ cat foobarbaz.txt
foo
bar
baz

$ ./ruby -ve '
a = ARGF.dup
p [a.gets, a.lineno]
p [a.gets, a.lineno]
a.rewind
p [a.gets, a.lineno]
p [a.gets, a.lineno]
' foobarbaz.txt
ruby 1.9.0 (2008-04-17 revision 16058) [i686-linux]
["foo\n", 1]
["bar\n", 2]
["foo\n", 1]
["bar\n", 2]


rb_io_t に argf を示すフィールドを追加して対応してみました。


Index: include/ruby/io.h
===================================================================
--- include/ruby/io.h	(revision 16062)
+++ include/ruby/io.h	(working copy)
@@ -47,6 +47,7 @@
     VALUE tied_io_for_writing;
     rb_encoding *enc;
     rb_encoding *enc2;
+    VALUE argf;
 } rb_io_t;

 #define HAVE_RB_IO_T 1
@@ -92,6 +93,7 @@
     fp->tied_io_for_writing = 0;\
     fp->enc = 0;\
     fp->enc2 = 0;\
+    fp->argf = 0;\
 } while (0)

 FILE *rb_io_stdio_file(rb_io_t *fptr);
Index: io.c
===================================================================
--- io.c	(revision 16062)
+++ io.c	(working copy)
@@ -994,10 +994,12 @@
 rb_io_rewind(VALUE io)
 {
     rb_io_t *fptr;
+    VALUE argf;

     GetOpenFile(io, fptr);
+    argf = fptr->argf;
     if (io_seek(fptr, 0L, 0) < 0) rb_sys_fail(fptr->path);
-    if (io == ARGF.current_file) {
+    if (argf && io == ARGF.current_file) {
 	ARGF.gets_lineno -= fptr->lineno;
     }
     fptr->lineno = 0;
@@ -5209,6 +5211,8 @@
 		    if (stdout_binmode) rb_io_binmode(rb_stdout);
 		}
 		current_file = prep_io(fr, FMODE_READABLE, rb_cFile, fn);
+		GetOpenFile(current_file, fptr);
+		fptr->argf = argf;
 	    }
 	    if (argf_binmode) rb_io_binmode(current_file);
 	    if (argf_enc) {
Index: gc.c
===================================================================
--- gc.c	(revision 16062)
+++ gc.c	(working copy)
@@ -1113,8 +1113,10 @@
 	break;

       case T_FILE:
-        if (obj->as.file.fptr)
+        if (obj->as.file.fptr) {
             gc_mark(obj->as.file.fptr->tied_io_for_writing, lev);
+	    gc_mark(obj->as.file.fptr->argf, lev);
+	}
         break;

       case T_REGEXP:

-- 
Yusuke ENDOH <mame@tsg.ne.jp>

In This Thread

Prev Next