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

Home » Public Forums » archive » vectorization challenge! (help!)
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: vectorization challenge! (help!) [message #54891 is a reply to message #54844] Thu, 19 July 2007 10:56 Go to previous messageGo to previous message
MarioIncandenza is currently offline  MarioIncandenza
Messages: 231
Registered: February 2005
Senior Member
Let's throw some memory at the problem, shall we?
Note: this is completely untested.

n = 24
npeeps = 50
gn1 = findgen(n,npeeps)
gn2 = findgen(n,npeeps)
cutoff = .01
; here is the array-based version of your task
swap=randomu(seed,n,npeeps)
bswap=swap le cutoff; binary
nswap_per_row=total(bswap,1); number to swap in each row
nswap_mask=rebin(transpose(nswap_per_row),n,npeeps); each cell has N
to swap in that row

swapi=reverse(lindgen(n,npeeps) mod n),1); each row N-1 to 0
bswapi=swapi lt nswap_mask; if NSWAP_PER_ROW=N, swaps entire row

fswap=where(bswapi,nfswap)
if(nswap gt 0) then gn1[fswap] = gn2[fswap]
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: warp_tri()
Next Topic: Re: how can idl find out information of other softwares

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

Current Time: Fri Oct 10 14:16:43 PDT 2025

Total time taken to generate the page: 1.36159 seconds