[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

floor() broken on EV4?



Hi;

In tracking down issues with ganglia/rrdtool, I found that 
floor() is not working properly in testing on my Avanti - it
always seems to return zero: 

cpp@imladris:~$ cat junk.c
#include <stdio.h>
#include <math.h>

int main()
{
  double x = 1.1;

  printf("floor(%f) = %f\n", x, floor(x));

  return(0);
}
cpp@imladris:~$ gcc junk.c -o junk -lm
cpp@imladris:~$ ./junk
floor(1.100000) = 0.000000

The same code on EV56 produces the expected result.  

Anyone have any ideas or recommendations?

Thanks,
Craig

cpp@imladris:~$ uname -a
Linux imladris 2.6.18-3-alpha-generic #1 Mon Dec 4 16:04:14 UTC 2006 alpha 
GNU/Linux
cpp@imladris:~$ cat /proc/cpuinfo
cpu                     : Alpha
cpu model               : EV45
cpu variation           : 7
cpu revision            : 0
cpu serial number       :
system type             : Avanti
system variation        : 0
system revision         : 0
system serial number    :
cycle frequency [Hz]    : 267940807 est.
timer frequency [Hz]    : 1024.00
page size [bytes]       : 8192
phys. address bits      : 34
max. addr. space #      : 63
BogoMIPS                : 526.56
kernel unaligned acc    : 0 (pc=0,va=0)
user unaligned acc      : 511 (pc=1200006c4,va=200000f7024)
platform string         : AlphaStation 250 4/266
cpus detected           : 1
L1 Icache               : 16K, 1-way, 32b line
L1 Dcache               : 16K, 1-way, 32b line
L2 cache                : 2048K, 1-way, 32b line
L3 cache                : n/a



Reply to: