[sc-dev] Trouble with ScInterpreter::MFastMult

2010-08-12 Thread Regina Henschel

Hi all,

in interpr5.cxx you find

void ScInterpreter::MFastMult(ScMatrix* pA, ScMatrix* pB, ScMatrix* pR,
  SCSIZE n, SCSIZE m, SCSIZE l)
// Multipliziert n x m Mat a mit m x l Mat b nach Mat r

But actually it calculates R = B * A and A has size m x n and B has size 
l x m.


I need a helper method for multiplying two matrices, so I used it as the 
comment describes. It took me some time to recognize that this method 
was the reason for the dimension errors I get.


Searching with OpenGrok I find no place, where the method MFastMult is 
actually used. As far as I see it had been used in the old version of 
LUP decomposition which was changed with CWS dr37.


So what to do?

(1) Change the method to work as the comment describes.
or
(2) Change the comment to describe, what the method actually does.
or
(3) Delete the method totally and write my own local routine.
or
(4) Ignore the method and write my own local routine.
or something else?

I prefer (1).

Kind regards
Regina


-
To unsubscribe, e-mail: dev-unsubscr...@sc.openoffice.org
For additional commands, e-mail: dev-h...@sc.openoffice.org



Re: [sc-dev] Trouble with ScInterpreter::MFastMult

2010-08-12 Thread Eike Rathke
Hi Regina,

On Thursday, 2010-08-12 09:24:59 +0200, Regina Henschel wrote:

 in interpr5.cxx you find
 
 void ScInterpreter::MFastMult(ScMatrix* pA, ScMatrix* pB, ScMatrix* pR,
   SCSIZE n, SCSIZE m, SCSIZE l)
 // Multipliziert n x m Mat a mit m x l Mat b nach Mat r
 
 But actually it calculates R = B * A and A has size m x n and B has
 size l x m.
 
 I need a helper method for multiplying two matrices, so I used it as
 the comment describes. It took me some time to recognize that this
 method was the reason for the dimension errors I get.

Ah, lovely, comments that describe something different than what the
actual implementation does..

 Searching with OpenGrok I find no place, where the method MFastMult
 is actually used. As far as I see it had been used in the old
 version of LUP decomposition which was changed with CWS dr37.

Yes, that was the only place using it, currently only the disabled test
code in ScInterpreter::ScMatInv() uses it, but wouldn't differ if the
implementation was changed as it calls with identical quadratic
dimensions.

 So what to do?
 
 (1) Change the method to work as the comment describes.

Yes, please go ahead.

  Eike

-- 
 OOo Calc core developer. Number formatter stricken i18n transpositionizer.
 Signature key 0x87F8D412 : 2F58 5236 DB02 F335 8304  7D6C 65C9 F9B5 87F8 D412
 OpenOffice.org Engineering at Oracle: http://blogs.sun.com/GullFOSS
 --
 Please don't send mail to the old e...@sun.com account that I used for mailing
 lists, it phased out. Use eike.rat...@oracle.com instead. Thanks.


pgpLw2aPCOiOD.pgp
Description: PGP signature