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 ();
}
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil
