Index: libcfa/src/common.hfa
===================================================================
--- libcfa/src/common.hfa	(revision a0bd9a2fcadffa1e808ab8844f9cb885648a280a)
+++ libcfa/src/common.hfa	(revision e172f4282bdde75d2719d7f3a0220b5fc643bd00)
@@ -32,5 +32,5 @@
 } // extern "C"
 static inline __attribute__((always_inline)) {
-	unsigned char abs( signed char v ) { return abs( (int)v ); }
+	unsigned char abs( signed char v ) { return (int)abs( (int)v ); }
 	// use default C routine for int
 	unsigned long int abs( long int v ) { return labs( v ); }
@@ -70,7 +70,7 @@
 	unsigned int min( unsigned int v1, unsigned int v2 ) { return v1 < v2 ? v1 : v2; }
 	long int min( long int v1, long int v2 ) { return v1 < v2 ? v1 : v2; }
-	unsigned long int min( unsigned long int v1, unsigned int v2 ) { return v1 < v2 ? v1 : v2; }
+	unsigned long int min( unsigned long int v1, unsigned long int v2 ) { return v1 < v2 ? v1 : v2; }
 	long long int min( long long int v1, long long int v2 ) { return v1 < v2 ? v1 : v2; }
-	unsigned long long int min( unsigned long long int v1, unsigned int v2 ) { return v1 < v2 ? v1 : v2; }
+	unsigned long long int min( unsigned long long int v1, unsigned long long int v2 ) { return v1 < v2 ? v1 : v2; }
 	forall( T | { int ?<?( T, T ); } )					// generic
 	T min( T v1, T v2 ) { return v1 < v2 ? v1 : v2; }
Index: libcfa/src/concurrency/kernel/cluster.hfa
===================================================================
--- libcfa/src/concurrency/kernel/cluster.hfa	(revision a0bd9a2fcadffa1e808ab8844f9cb885648a280a)
+++ libcfa/src/concurrency/kernel/cluster.hfa	(revision e172f4282bdde75d2719d7f3a0220b5fc643bd00)
@@ -40,5 +40,5 @@
 
 // convert to log2 scale but using double
-static inline __readyQ_avg_t __to_readyQ_avg(unsigned long long intsc) { if(unlikely(0 == intsc)) return 0.0; else return log2(intsc); }
+static inline __readyQ_avg_t __to_readyQ_avg(unsigned long long intsc) { if(unlikely(0 == intsc)) return 0.0; else return log2((__readyQ_avg_t)intsc); }
 
 #define warn_large_before warnf( !strict || old_avg < 35.0, "Suspiciously large previous average: %'lf, %'" PRId64 "ms \n", old_avg, program()`ms )
Index: libcfa/src/stdlib.hfa
===================================================================
--- libcfa/src/stdlib.hfa	(revision a0bd9a2fcadffa1e808ab8844f9cb885648a280a)
+++ libcfa/src/stdlib.hfa	(revision e172f4282bdde75d2719d7f3a0220b5fc643bd00)
@@ -367,11 +367,11 @@
 
 	char random( void ) { return (unsigned long int)random(); }
-	char random( char u ) { return random( (unsigned long int)u ); } // [0,u)
+	char random( char u ) { return (unsigned long int)random( (unsigned long int)u ); } // [0,u)
 	char random( char l, char u ) { return random( (unsigned long int)l, (unsigned long int)u ); } // [l,u)
 	int random( void ) { return (long int)random(); }
-	int random( int u ) { return random( (long int)u ); } // [0,u]
+	int random( int u ) { return (long int)random( (long int)u ); } // [0,u]
 	int random( int l, int u ) { return random( (long int)l, (long int)u ); } // [l,u)
 	unsigned int random( void ) { return (unsigned long int)random(); }
-	unsigned int random( unsigned int u ) { return random( (unsigned long int)u ); } // [0,u]
+	unsigned int random( unsigned int u ) { return (unsigned long int)random( (unsigned long int)u ); } // [0,u]
 	unsigned int random( unsigned int l, unsigned int u ) { return random( (unsigned long int)l, (unsigned long int)u ); } // [l,u)
 } // distribution
