Hi, i try to fugure out what is the "best way". The following code throws a warning: #include <stdio.h> #include <math.h> int main(void) { double x=1.7; printf("%f %f",x,round(x)); } gcc r.c -lm r.c: In function 'main': r.c:9: warning: incompatible implicit declaration of built-in function 'round' I can avoid this by using the compiler switch -fno-builtin. But as far as i understand, the built in functions are optimized. So if i use -fno-builtin, i lose some cycles? I can also put at line 3: extern double round(double); and then i don't need the -fno-builtin. But what does that mean? Which round() do i use then? Can i avoid the warning if i use other types of variables - i don't know how the built-in round() is defined. Other thoughts? Thank you! Flo