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

Home » Public Forums » archive » MOD operator
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: MOD operator [message #22170 is a reply to message #22040] Wed, 18 October 2000 00:00 Go to previous message
Theo Brauers is currently offline  Theo Brauers
Messages: 58
Registered: November 1997
Member
Thanks for your help. In the meantime I found (with help from Franz Rohrer
and Markus Fuehrer) that there is a difference between
a MOD b = a-INT(a/b)*b
and
modulo(a,b) = a-FLOOR(a/b)*b

I wrote an function calc_modulo
------
FUNCTION calc_modulo, a, b
RETURN, a - FLOOR(a/b)*b
END
------
which works fine for me.
Cheers Theo
>
> Theo Brauers wrote:
>>
>> I was wondering if the result of the MOD operator in IDL changed
>> from previous versions (4.x, 5.0) to the current version (5.3.1).
>> Now the output is:
>>
>> IDL> PRINT, (FINDGEN(8)-4.) MOD 3
>> -1.00000 0.000000 -2.00000 -1.00000 0.000000
>> 1.00000 2.00000 0.000000
>>
>> When I programmed a function long ago I used the MOD operator
>> expecting the output
>>
>> IDL> PRINT, (FINDGEN(8)-4.) MOD 3
>> 2.00000 0.000000 1.00000 2.00000 0.000000
>> 1.00000 2.00000 0.000000
>>
>
> To the best of my knowledge, this is always the way IDL (and most other
> languages providing a MOD operator) has worked. If you wish to take the
> mod of a negative number , the result will be a negative number between
> -(n+1) and 0. A positive input yields a positive result. So when we're
> trying to limit a value to between 0 and 2*pi, we often end up with code
> that looks something like:
>
> x = ((y mod (2*pi)) + 2*pi) mod (2*pi)
>
> Hope this helps.
>
> Phillip

--
----------------------------------------------
Dr. Theo Brauers
Institut fuer Atmosphaerische Chemie (ICG-3)
Forschungszentrum Juelich
52425 JUELICH, Germany
Tel. +49-2461-61-6646 Fax. +49-2461-61-5346
http://www.kfa-juelich.de/icg/icg3/MITARBEITER/th.brauers.ht ml
[Message index]
 
Read Message
Read Message
Previous Topic: Call external with HP-UX
Next Topic: Commercial IDL/Wave alternatives

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

Current Time: Sun Oct 12 15:04:58 PDT 2025

Total time taken to generate the page: 0.24688 seconds