[#7476] Net::HTTP Bug in Ruby 1.8.4? — James Edward Gray II <james@...>
Can a Net::HTTP guru comment on this message:
[#7485] Bugzilla for ruby? — Hadmut Danisch <hadmut@...>
Hi,
[#7493] how to introduce reference objects into ruby — "Geert Fannes" <Geert.Fannes@...>
Hello,
[#7497] Re: how to introduce reference objects into ruby — "Geert Fannes" <Geert.Fannes@...>
Hello,
[#7500] Re: how to introduce reference objects into ruby — "Geert Fannes" <Geert.Fannes@...>
The problem with the code you sent is that you have to go through ALL
The columns store the actual values (doubles), and the rows store pointers to the corresponding doubles. This way, I can update a double directly via the columns, via the rows after dereferencing the pointers.
[#7518] Proposal: String#notempty? — Bertram Scharpf <lists@...>
Hi,
[#7524] Sefe level: bug or feature? — "Kirill A. Shutemov" <k.shutemov@...>
Why cannot do eval with $SAFE=3 and can with $SAFE=4? Is it bug or
Hi,
On Mon, 13 Mar 2006, Yukihiro Matsumoto wrote:
[#7529] Re: Proposal: String#notempty? — "Berger, Daniel" <Daniel.Berger@...>
> -----Original Message-----
[#7546] Re: how to introduce reference objects into ruby — "Geert Fannes" <Geert.Fannes@...>
In Ruby, there's the []= and [] operators which you can define together.
[#7553] "not" operator used in expression that is a method parameter can generate syntax error — noreply@...
Bugs item #3843, was opened at 2006-03-15 22:09
Hi,
Nobu, you are not answering to the question.... You have to unveil why
Hi,
Hello,
Zev Blut wrote:
On 3/16/06, Joel VanderWerf <vjoel@path.berkeley.edu> wrote:
On 3/16/06, Zev Blut <rubyzbibd@ubit.com> wrote:
Hello,
Yukihiro Matsumoto wrote:
On 3/16/06, mathew <meta@pobox.com> wrote:
Brian Mitchell wrote:
On 3/16/06, mathew <meta@pobox.com> wrote:
Dear all
What you've described is the basic predence difference between
Evan Phoenix wrote:
[#7600] ruby_script ? — "Nicolas Despr鑚" <nicolas.despres@...>
Hi list,
>>>>> "N" == Nicolas Despr=E8s?= <ISO-8859-1> writes:
On 3/25/06, ts <decoux@moulon.inra.fr> wrote:
>>>>> "N" == Nicolas Despr=E8s?= <ISO-8859-1> writes:
[#7601] to_str, to_s and StringValue — "Gerardo Santana Gez Garrido" <gerardo.santana@...>
If I understand correctly, StringValue is a way for writing duck-type
[#7614] PATCH: A subclassable Pathname — "Evan Phoenix" <evanwebb@...>
A simply change (changing all references of "Pathname.new" to
In article <92f5f81d0603262350k796fe48fp2224b9f2108ac507@mail.gmail.com>,
Quite right on the .glob and .getwd. I guess the tests don't test hit
In article <92f5f81d0603270903g2fb02244i6a395be708dfffa3@mail.gmail.com>,
In article <87fyl3x0wd.fsf@m17n.org>,
Hm, well, thats because of the shortcut behavior in Pathname#+ which
In article <92f5f81d0603271717r1ce51d30p6c28e363dc32a09b@mail.gmail.com>,
Re: how to introduce reference objects into ruby
If I am understanding correctly, the columns would contain the actual
values, while the rows would extend across all columns but point at the same
values. So for example, if you have four columns of four elements, row three
would contain four references to the items at index three (one-based, not
zero-based for this example) in each column. You can access all elements
using either rows or columns. This provides the ability to invert the matrix
making columns rows and rows columns without altering the contents of
either.
These must also be sparse, so that if you have 5 elements in a 100-slot
column, it only takes up 5 elements-worth of space. For this, you would need
to use hashes with the [x,y] as the key.
Since you may need to access things by either row or column, you only have
two options:
1. Maintain a set of columns pointing at the actual values and a set of rows
that reference the appropriate indexed element in each column (what you want
above)
2. Create both row and column hashes that key off [x,y] (but cause twice as
much memory to be consumed for storing both)
I see your conundrum. However I think it should be possible to do what you
want. If you maintain only the list of columns I think you can still make it
work.
class MatrixRow
def initialize(columns, row_number)
@columns = columns
@row_number = row_number
end
def [](index)
@columns[row_number][index]
end
def []=(index, value)
@columns[row_number][index] = value
end
end
class SparseMatrix
def initialize()
@columns=Hash.new{|hash,key|hash[key]=Hash.new}
end
def []=(i,j,value)
@columns[j][i]=value
end
def getRow(i)
return MatrixRow.new(@colums, i)
end
def getCol(j)
return @columns[j]
end
end
You can probaby build in some smarts to avoid recreating the virtual "rows"
every time too.
- Charlie
On 3/10/06, Jim Weirich <jim@weirichhouse.org> wrote:
>
> Jim Weirich wrote:
> > What does your C/C++ program do to get around this difficulty?
>
> Geert Fannes wrote:
> > The columns store the actual values (doubles), and the rows store
> > pointers to the corresponding doubles. This way, I can update a
> > double directly via the columns, via the rows after dereferencing
> > the pointers.
> >
> > (The real truth is a bit more complex since pointers on a 64 bit
> > machine take 64 bit, which wastes too much memory space. I
> > store float and unsigned int indices instead of pointers, but
> > the principle is the same)
>
> I think you are saying that the rows of your matrix contain the value,
> and the columns contain references (either pointers or indices) to the
> row values. Is that correct (modulo having rows/columns reversed)?
>
> I'm still unclear why this solution wouldn't work in Ruby.
>
> --
> -- Jim Weirich jweirich@one.net http://onestepback.org
> -----------------------------------------------------------------
> "Beware of bugs in the above code; I have only proved it correct,
> not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas)
>
>
--
Charles Oliver Nutter @ headius.blogspot.com
JRuby Developer @ jruby.sourceforge.net
Application Architect @ www.ventera.com