1e38 limit? [message #65336] |
Fri, 27 February 2009 07:55  |
paulartcoelho
Messages: 30 Registered: March 2007
|
Member |
|
|
hello,
i read float numbers from a text file, and eventually i need to
multiply them by large numbers ~1e40.
'result' is the array that i read from the text file, and 'chi' is the
array i'm analysing. i extract it with:
chi = double(reform(result[3,*]))
and then i do something like:
chi = chi * 1e40
but the routine apparently enters into an infinite loop, lots of CPU,
RAM and HD usage, and i end up having to kill the process after a
while. trial-and-error showed me that as long as i keep the
multiplicative factor <= 1e38, everything runs smoothly.
i tried even a stupid:
chi = chi * 1e38
chi = chi * 1e2
but the routine still gets crazy with that.
what is going on? how can i work it around?
many thanks,
paula
|
|
|
Re: 1e38 limit? [message #65399 is a reply to message #65336] |
Mon, 02 March 2009 04:29  |
paulartcoelho
Messages: 30 Registered: March 2007
|
Member |
|
|
On Feb 28, 11:49 am, Reimar Bauer <R.Ba...@fz-juelich.de> wrote:
>
> because you haven't implemented an error handler.
>
> look also on compile_opt
> There is one to force the default type to become double.
>
> cheers
> Reimar
true, i know nothing about handling errors to be honest. i'll
certainly look at it now.
cheers
paula
|
|
|