[#11822] RCR: Input XML support in the base Ruby — Dave Thomas <Dave@...>

15 messages 2001/03/01

[#11960] Not Ruby, for me, for the moment at least — "Michael Kreuzer" <mkreuzer@... (nospam)>

I wrote on this newsgroup last weekend about how I was considering using

11 messages 2001/03/04

[#12023] French RUG ? — "Jerome" <jeromg@...>

Hi fellow rubyers,

16 messages 2001/03/05

[#12103] disassembling and reassembling a hash — raja@... (Raja S.)

Given a hash, h1, will the following always hold?

20 messages 2001/03/06

[#12204] FEATURE REQUEST: 'my' local variables — Leo Razoumov <see_signature@127.0.0.1>

Ruby is, indeed, a very well designed language.

64 messages 2001/03/07
[#12250] Re: FEATURE REQUEST: 'my' local variables — Leo Razoumov <see_signature@127.0.0.1> 2001/03/07

>>>>> "GK" == GOTO Kentaro <gotoken@math.sci.hokudai.ac.jp> writes:

[#12284] Re: FEATURE REQUEST: 'my' local variables — gotoken@... (GOTO Kentaro) 2001/03/08

In message "[ruby-talk:12250] Re: FEATURE REQUEST: 'my' local variables"

[#12289] Re: FEATURE REQUEST: 'my' local variables — matz@... (Yukihiro Matsumoto) 2001/03/08

Hi,

[#12452] Re: FEATURE REQUEST: 'my' local variables — gotoken@... (GOTO Kentaro) 2001/03/12

In message "[ruby-talk:12289] Re: FEATURE REQUEST: 'my' local variables"

[#12553] Re: FEATURE REQUEST: 'my' local variables — Dave Thomas <Dave@...> 2001/03/13

matz@zetabits.com (Yukihiro Matsumoto) writes:

[#12329] Math package — Mathieu Bouchard <matju@...>

18 messages 2001/03/09

[#12330] Haskell goodies, RCR and challenge — Robert Feldt <feldt@...>

Hi,

19 messages 2001/03/09
[#12374] Re: Haskell goodies, RCR and challenge — matz@... (Yukihiro Matsumoto) 2001/03/10

Hi,

[#12349] Can Ruby-GTK display Gif Png or Jpeg files? — Phlip <phlip_cpp@...>

Ruby-san:

20 messages 2001/03/09

[#12444] class variables — Max Ischenko <max@...>

14 messages 2001/03/12

[#12606] Order, chaos, and change requests :) — Dave Thomas <Dave@...>

17 messages 2001/03/14

[#12635] email address regexp — "David Fung" <dfung@...>

i would like to locate probable email addresses in a bunch of text files,

12 messages 2001/03/14

[#12646] police warns you -- Perl is dangerous!! — Leo Razoumov <see_signature@127.0.0.1>

I just read this story on Slashdot

14 messages 2001/03/14
[#12651] Re: police warns you -- Perl is dangerous!! — pete@... (Pete Kernan) 2001/03/14

On 14 Mar 2001 11:46:35 -0800, Leo Razoumov <see_signature@127.0.0.1> wrote:

[#12691] Re: police warns you -- Perl is dangerous!! — "W. Kent Starr" <elderburn@...> 2001/03/15

On Wednesday 14 March 2001 15:40, Pete Kernan wrote:

[#12709] [OFFTOPIC] Re: police warns you -- Perl is dangerous!! — Stephen White <spwhite@...> 2001/03/16

On Fri, 16 Mar 2001, W. Kent Starr wrote:

[#12655] Re: FEATURE REQUEST: 'my' local variables — "Benjamin J. Tilly" <ben_tilly@...>

>===== Original Message From Leo Razoumov <see_signature@127.0.0.1> =====

18 messages 2001/03/14

[#12706] Library packaging — "Nathaniel Talbott" <ntalbott@...>

I have a project that I'm working on that needs to live two different lives,

30 messages 2001/03/16

[#12840] Looking for a decent compression scheme — Dave Thomas <Dave@...>

14 messages 2001/03/19

[#12895] differences between range and array — "Doug Edmunds" <dae_alt3@...>

This code comes from the online code examples for

16 messages 2001/03/20
[#12896] Re: differences between range and array — "Hee-Sob Park" <phasis@...> 2001/03/20

[#12899] Re: differences between range and array — Jim Freeze <jim@...> 2001/03/20

On Tue, 20 Mar 2001, Hee-Sob Park wrote:

[#12960] TextBox ListBox — Ron Jeffries <ronjeffries@...>

Attached is a little Spike that Chet and I are doing. It is a

13 messages 2001/03/20

[#12991] [ANN] Lapidary 0.2.0 — "Nathaniel Talbott" <ntalbott@...>

Well, here's my first major contribution to the Ruby world: Lapidary. It's a

16 messages 2001/03/20

[#13028] mkmf question — Luigi Ballabio <luigi.ballabio@...>

15 messages 2001/03/21

[#13185] Reading a file backwards — "Daniel Berger" <djberg96@...>

Hi all,

21 messages 2001/03/25
[#13197] Re: Reading a file backwards — "Daniel Berger" <djberg96@...> 2001/03/25

> Hi Dan,

[#13203] Re: Reading a file backwards — Mathieu Bouchard <matju@...> 2001/03/25

On Sun, 25 Mar 2001, Daniel Berger wrote:

[#13210] Re: Reading a file backwards — "Daniel Berger" <djberg96@...> 2001/03/25

"Mathieu Bouchard" <matju@sympatico.ca> wrote in message

[#13374] Passing an array to `exec'? — Lloyd Zusman <ljz@...>

I'd like to do the following:

15 messages 2001/03/31

[#13397] Multidimensional arrays and hashes? — Lloyd Zusman <ljz@...>

Is it possible in ruby to make use of constructs that correspond to

14 messages 2001/03/31

[ruby-talk:11990] higher-resolution Time for Win32

From: Tim Thompson <tjt@...>
Date: 2001-03-05 05:29:13 UTC
List: ruby-talk #11990
I want to use Ruby for realtime MIDI and audio on Windows.
To do that, I need high-resolution timing.  The existing C code
in Ruby uses gettimeofday() to get the current time.
I have made a modification so that, on Windows, it uses the
timeGetTime() API to get a higher-resolution time.

Before this change, Ruby's Time.now.tv_usec value on Windows 98
was quantized to a large (40-50 millisecond) amount, because
of the poor implementation of gettimeofday() in Windows.

After this change, Ruby's Time.now.tv_usec value on Windows 98
has millisecond-resolution (i.e. the resolution of
the timeGetTime() API).

I've tried to make a minimal (but complete) change,
by added a rb_gettimeofday() function that all code uses
instead of gettimeofday().  The winmm.lib library needs
to be added to the makefile as well.   A 'diff -u' for 1.6.2
is enclosed at the end of this message.

I've tested the change on both Win98 and Linux.

Any chance this change can be made in the official distribution?

    ...Tim Thompson...tjt@nosuch.com...

================================================================

--- win32/Makefile.sub.original	Sun Mar  4 20:27:04 2001
+++ win32/Makefile.sub	Sun Mar  4 20:33:31 2001
@@ -35,7 +35,7 @@
 LDFLAGS = $(CFLAGS) -Fm
 XLDFLAGS = 
 #EXTLIBS = 
-LIBS = user32.lib advapi32.lib wsock32.lib $(EXTLIBS)
+LIBS = user32.lib advapi32.lib wsock32.lib $(EXTLIBS) winmm.lib
 MISSING = crypt.obj alloca.obj win32.obj isinf.obj isnan.obj
 LDSHARED = 
 DLDFLAGS = 


--- eval.c.original	Sun Mar  4 20:26:44 2001
+++ eval.c	Sun Mar  4 20:03:09 2001
@@ -6771,7 +6771,7 @@
 timeofday()
 {
     struct timeval tv;
-    gettimeofday(&tv, NULL);
+    rb_gettimeofday(&tv);
     return (double)tv.tv_sec + (double)tv.tv_usec * 1e-6;
 }
 

--- random.c.original	Sun Mar  4 20:27:15 2001
+++ random.c	Sun Mar  4 20:03:25 2001
@@ -119,7 +119,7 @@
 	static int n = 0;
 	struct timeval tv;
 
-	gettimeofday(&tv, 0);
+	rb_gettimeofday(&tv);
 	seed = tv.tv_sec ^ tv.tv_usec ^ getpid() ^ n++;
     }
     else {
@@ -143,7 +143,7 @@
     if (first) {
 	struct timeval tv;
 
-	gettimeofday(&tv, 0);
+	rb_gettimeofday(&tv);
 	rand_init(tv.tv_sec ^ tv.tv_usec ^ getpid());
     }
     switch (TYPE(vmax)) {


--- time.c.original	Sun Mar  4 20:27:31 2001
+++ time.c	Sun Mar  4 21:10:12 2001
@@ -26,6 +26,10 @@
 #endif
 #endif /* NT */
 
+#ifdef NT
+#include <mmsystem.h>
+#endif
+
 #ifdef HAVE_SYS_TIMES_H
 #include <sys/times.h>
 #endif
@@ -50,6 +54,31 @@
     Data_Get_Struct(obj, struct time_object, tobj);\
 }
 
+int
+rb_gettimeofday(struct timeval *tvp)
+{
+#ifdef NT
+    static int initialized = 0;
+    static struct timeval tv0;
+    static long tm0;
+    long dt;
+
+    if ( ! initialized ) {
+	initialized = 1;
+	tm0 = timeGetTime();
+	if ( gettimeofday(&tv0, 0) < 0 )
+	    return -1;
+    }
+    dt = timeGetTime() - tm0;
+    *tvp = tv0;
+    tvp->tv_sec += dt / 1000;
+    tvp->tv_usec += 1000 * (dt % 1000);
+    return 0;
+#else
+    return gettimeofday(tvp, 0);
+#endif	/* NT */
+}
+
 static VALUE
 time_s_now(klass)
     VALUE klass;
@@ -60,7 +89,7 @@
     obj = Data_Make_Struct(klass, struct time_object, 0, free, tobj);
     tobj->tm_got=0;
 
-    if (gettimeofday(&tobj->tv, 0) < 0) {
+    if (rb_gettimeofday(&tobj->tv) < 0) {
 	rb_sys_fail("gettimeofday");
     }
 
@@ -294,7 +323,7 @@
     struct tm *tm;
     long t, diff;
 
-    if (gettimeofday(&tv, 0) < 0) {
+    if (rb_gettimeofday(&tv) < 0) {
 	rb_sys_fail("gettimeofday");
     }
     guess = tv.tv_sec;

================================================================

In This Thread

Prev Next