[fpc-devel] Invalid floating point operation - roundto
    Jonas Maebe 
    jonas.maebe at elis.ugent.be
       
    Wed Mar  6 10:15:57 CET 2013
    
    
  
On 22 Feb 2013, at 13:30, tomek at ump.edu.pl wrote:
> s1,s2: extended;
>
> s1:=291.022;
> s2:=roundto(s1,-30);   //TRoundToRange = -37..37;
>
> give me Invalid floating point operation.
>
> I see that roundto goes to single instead of extended. But why ?
Because overload selection is based on parameter matching from right  
to left, and -30 can be exactly represented using "single" and hence  
is converted to that type by the compiler when it has to turn it into  
a floating point constant.
Jonas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20130306/7ce537e7/attachment.html>
    
    
More information about the fpc-devel
mailing list