[#8566] Visions for 2001/1.7.x development? — Robert Feldt <feldt@...>

Hi matz and other Ruby developers,

18 messages 2001/01/03
[#8645] Re: Visions for 2001/1.7.x development? — matz@... (Yukihiro Matsumoto) 2001/01/04

Hi,

[#8580] bug?? — jmichel@... (Jean Michel)

I don't understand the following behaviour:

19 messages 2001/01/03

[#8633] Interesting Language performance comparisons - Ruby, OCAML etc — "g forever" <g24ever@...>

13 messages 2001/01/04

[#8774] No :<, :>, etc. methods for Array — "Brian F. Feldman" <green@...>

So, why not include Comparable in Array by default? It shouldn't have any

28 messages 2001/01/07
[#8779] Re: No :<, :>, etc. methods for Array — matz@... (Yukihiro Matsumoto) 2001/01/07

Hi,

[#8780] Re: No :<, :>, etc. methods for Array — "Brian F. Feldman" <green@...> 2001/01/07

matz@zetabits.com (Yukihiro Matsumoto) wrote:

[#8781] Re: No :<, :>, etc. methods for Array — gotoken@... (GOTO Kentaro) 2001/01/07

In message "[ruby-talk:8780] Re: No :<, :>, etc. methods for Array"

[#8782] Re: No :<, :>, etc. methods for Array — "Brian F. Feldman" <green@...> 2001/01/07

gotoken@math.sci.hokudai.ac.jp (GOTO Kentaro) wrote:

[#8829] Sandbox (again) — wys@... (Clemens Wyss)

Hi,

20 messages 2001/01/08
[#8864] Re: Sandbox (again) — Clemens Hintze <c.hintze@...> 2001/01/08

On 8 Jan, Clemens Wyss wrote:

[#8931] String confusion — Anders Bengtsson <ndrsbngtssn@...>

Hello everyone,

21 messages 2001/01/09
[#8937] Re: String confusion — matz@... (Yukihiro Matsumoto) 2001/01/09

Hi,

[#8953] Please remove account from files — "Thomas Daniels" <westernporter@...>

Please take my e-mail address from your files and "CANCEL" my =

14 messages 2001/01/09
[#8983] Re: Please remove account from files — John Rubinubi <rubinubi@...> 2001/01/10

On Wed, 10 Jan 2001, Thomas Daniels wrote:

[#9020] time to divide -talk? (was: Please remove account from files) — Yasushi Shoji <yashi@...> 2001/01/10

At Wed, 10 Jan 2001 14:23:30 +0900,

[#9047] Re: time to divide -talk? (was: Please remov e account from files) — Aleksi Niemel<aleksi.niemela@...>

Yasushi Shoji:

27 messages 2001/01/10
[#9049] Re: time to divide -talk? — Yasushi Shoji <yashi@...> 2001/01/10

At Thu, 11 Jan 2001 00:20:45 +0900,

[#9153] what about this begin? — Anders Strandl Elkj誡 <ase@...> 2001/01/11

[#9195] Re: Redefining singleton methods — ts <decoux@...>

>>>>> "H" == Horst Duch=EAne?= <iso-8859-1> writes:

10 messages 2001/01/12

[#9242] polymorphism — Maurice Szmurlo <maurice@...>

hello

73 messages 2001/01/13

[#9279] Can ruby replace php? — Jim Freeze <jim@...>

When I read that ruby could be used to replace PHP I got really

15 messages 2001/01/14

[#9411] The Ruby Way — "Conrad Schneiker" <schneiker@...>

As a member of the "Big 8" newsgroups, "The Ruby Way" (of posting) is to

15 messages 2001/01/17

[#9462] Re: reading an entire file as a string — ts <decoux@...>

>>>>> "R" == Raja S <raja@cs.indiana.edu> writes:

35 messages 2001/01/17
[#9465] Re: reading an entire file as a string — Dave Thomas <Dave@...> 2001/01/17

raja@cs.indiana.edu (Raja S.) writes:

[#9521] Larry Wall INterview — ianm74@...

Larry was interviewed at the Perl/Ruby conference in Koyoto:

20 messages 2001/01/18
[#10583] Re: Larry Wall INterview — "greg strockbine" <gstrock@...> 2001/02/08

Larry Wall's interview is how I found out

[#9610] Re: 101 Misconceptions About Dynamic Languages — "Ben Tilly" <ben_tilly@...>

"Christian" <christians@syd.microforte.com.au> wrote:

13 messages 2001/01/20

[#9761] Re: 101 Misconceptions About Dynamic Languages — ts <decoux@...>

>>>>> "C" == Christoph Rippel <crippel@primenet.com> writes:

16 messages 2001/01/23

[#9792] Ruby 162 installer available — Dave Thomas <Dave@...>

15 messages 2001/01/24

[#9958] Re: Vim syntax files again. — "Conrad Schneiker" <schneik@...>

Hugh Sasse wrote:

14 messages 2001/01/26
[#10065] Re: Vim syntax files again. — Hugh Sasse Staff Elec Eng <hgs@...> 2001/01/29

On Sat, 27 Jan 2001, Conrad Schneiker wrote:

[#9975] line continuation — "David Ruby" <ruby_david@...>

can a ruby statement break into multiple lines?

18 messages 2001/01/27
[#9976] Re: line continuation — Michael Neumann <neumann@...> 2001/01/27

On Sat, 27 Jan 2001, David Ruby wrote:

[#9988] Re: line continuation — harryo@... (Harry Ohlsen) 2001/01/28

>A statement break into mutliple lines if it is not complete,

[ruby-talk:8523] Re: speedup of anagram finder

From: jmichel@... (Jean Michel)
Date: 2001-01-02 16:40:01 UTC
List: ruby-talk #8523
In article <733CA39D4982D411AD080090278CBE399A5217@shalom.israel.hp.com>,
SHULTZ,BARRY (HP-Israel,ex1) <barry_shultz@hp.com> wrote:
>> go, either. The fact is, I've spent a lot of time the past couple days
>> thinking about
>> a new solution, related to the "primes" solution. If I come up with
>> something 
>
>Here's a faster, but obviously problematic, solution, kind of a first
>approximation for a solution:
>
>Again, if you don't like math, I apologize for any jargon in the following
>text.
>
>I call it the "slide rule" approach. "prime" was slowing up because of the
>way Ruby was handling
>multiplication of large numbers. So I thought about a logarithmic solution
>using

Since I do mathematics, I feel compelled  to add my 2 cents (although it
is *very* elementary  mathematics here). I am afraid  your solution with
floating-point numbers will be lossy  (inaccurate) however hard you try.
A perfect additive index function is  to represent, e.g. the i-th letter
by 2**i and add the values for  each letter. Of course this way, you can
represent (in  26 bits)  only the  words where  no letter  occurs twice.
Using 4**i you may  represent words where a given letter  occurs up to 3
times, in 52 bits. This will be  a slightly slower because you will have
to use two fixnums and test for  the letter being smaller or bigger than
'm' to see in which one it falls. If you use base 256 you may encode any
word where a letter occurs less than 255 times in a string of length 26.
The problem is how  to build this string fast. Maybe  the directive @ of
pack would help, but I expect this  last solution to be slower than sort
probably.

  Here again a good solution would  be to take in account differences in
the  various  letters  behaviour  and a  'mixed  basis'  representation:
assume that  a,e,i can  occur 4  times in  a word  but any  other letter
only  3.  Then  you  may  encode  words by  a  polynomial  of  the  form
a+e*5+i*5**2+b*4*5**3+etc..  (where  a,e,i,b  etc..  is  the  number  of
occurences of  a,e,i,b etc..  in the  word). You  would compute  this by
pre-computing the 'powers' like 4*5**3 in  the mixed basis in some array
'pow', say, then do something like:

    sum=0
    word.each_byte{|b| sum+=pow[b]}

  Anyway I cannot test any of the  solutions I propose for speed since I
forgot to  save the proposals of  other people, so I  let you experiment
with my ideas if you wish.

  Best regards,
     Jean MICHEL

In This Thread