Am Montag, den 31.08.2009, 12:28 -0700 schrieb cheneymx:
> Hello all,
>
> I get an error, when I execute the following command:
>
> (move-window-to (input-focus) (round 1200.3) (round 200.4))
>
> And
>
> (move-window-to (input-focus) 1200 200)
>
> works correctly. And I found:
>
> in elisp: (round 2.3) -> 2
> but in rep: (round 2.3) -> 2.
>
> Is 2. an Integer ? I checked it by using following command:
>
> (integerp (round 2.3)) -> t
>
> So 2. is an integer. But why is my 1st. command wrong?
>
> Best regards
>
> Li
did you compile librep with or without libgmp?
This is the round function (librep/numbers.c), in case you want to
investigate more:
Round NUMBER downwards to the nearest integer less than or equal to
NUMBER.
::end:: */
{
rep_DECLARE1 (arg, rep_NUMERICP);
switch (rep_NUMERIC_TYPE (arg))
{
case rep_NUMBER_INT:
case rep_NUMBER_BIGNUM:
return arg;
#ifdef HAVE_GMP
case rep_NUMBER_RATIONAL:
return rep_make_long_int (floor (mpq_get_d (rep_NUMBER
(arg,q))));
#endif
case rep_NUMBER_FLOAT:
return rep_make_float (floor (rep_NUMBER (arg,f)), rep_TRUE);
}
abort ();
}
Attachment:
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil