[Matrix-SIG] "Sorting" a large array?!
Rob Hooft
r.hooft@euromail.net
Wed, 25 Aug 1999 14:36:18 +0200 (MZT)
>>>>> "RH" == Rob Hooft <r.hooft@euromail.net> writes:
RH> 2) The "concatenate" operation currently duplicates memory
RH> completely. Slow and expensive. Is there a better way?
Hmmm.... Writing such a message definitely clears ones mind.
I managed to avoid the concatenate:
def Frame(self,data):
data=data.astype('f')
if not hasattr(self,'arrdata'):
self.arrdata=Numeric.zeros((self.mem+1,)+data.shape,'f')
self.arrindex=0
self.arrdata[self.arrindex]=data
self.arrindex=self.arrindex+1
if self.arrindex>=self.mem+1:
self.arrdata=Numeric.sort(self.arrdata,axis=0)
self.arrindex=self.n
def FinalEnd(self):
self.arrdata=Numeric.sort(self.arrdata[:self.arrindex],axis=0)
self.data=self.arrdata[self.n-1]
del self.arrdata
Any other help is still appreciated.
Regards,
--
===== R.Hooft@EuroMail.net http://www.xs4all.nl/~hooft/rob/ =====
===== R&D, Nonius BV, Delft http://www.nonius.nl/ =====
===== PGPid 0xFA19277D ========================== Use Linux! =========