comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: array multiplying (for a change)
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: array multiplying (for a change) [message #38022] Tue, 17 February 2004 12:18 Go to previous message
JD Smith is currently offline  JD Smith
Messages: 850
Registered: December 1999
Senior Member
On Tue, 17 Feb 2004 10:21:04 -0600, Craig Markwardt wrote:

>
> "Christopher Lee" <cl@127.0.0.1> writes:
>> What I want is result = a * b'
>> where b' = rebin(reform(b, [1,20,1]), 10,20,30)
>> , which (clearly :) I know how to do in principle.
> ...
>> Are there any functions, buit-in or otherwise, that I can use? I found
>> CMAPPLY, which I can beat into a form which works. (I use a similar
>> function now but it's very _VERY_ bad code).
>>
>> A quick test using loops versus rebin/reform of the shows loops to be
>> slower (for a matrix 72,36,31,200) which I'm not really surprised by. Is
>> this a case where a DLM would be faster?

I can think of almost no case where a DLM wouldn't be faster; the real
questions is, is a DLM faster by a large enough margin to make it
worth it?

> My philosophy is that DLMs are almost always bad, unless you are
> developing an embedded system. They tie you to a particular version
> of IDL and a particular OS and architecture. They are rather difficult
> to debug, and making changes is rather laborious. DLMs = bleccchhh.

That may be true to some extent, but I have a method for calling
compiled C code automatically within IDL which is, as far as I can
tell, as portable as possible. The MAKE_DLM routine allows you to
invoke a standard compiler to produce a shared executable library. A
few other tricks then check that the compilation succeeded, and
execute the compiled code (I usually just use CALL_EXTERNAL). Is this
guaranteed to work? No, of course not. The compiler could be
mis-configured or missing. But it does provide a decent degree of
portability, and completely relieves the end-user from having to know
which end of a compiler is up. The AUTO_GLUE functionality makes it
easy to call existing functions (e.g. N.R.) without too much trouble.
In my case, I include an equivalent but slow version of the algorithm
coded in IDL, which I use as a fall-back if the compilation fails.

JD
[Message index]
 
Read Message
Read Message
Read Message
Previous Topic: Colliding galaxies in 3-D object?
Next Topic: Re: YSIZE of widget_text

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 19:16:00 PDT 2025

Total time taken to generate the page: 0.00623 seconds