# HG changeset patch # User michael # Date 1158658260 0 # Node ID 2c0b933387652abb58bfcd62da04c2a532f2b218 # Parent 8b8773577dd9a63ad9dfe7fd8c5f6ebf10647cf9 use correct rounding functions this should fix a floating point exception on some systems lets hope these arent missing anywhere, if so another solution must be found diff -r 8b8773577dd9 -r 2c0b93338765 mpegaudiodec.c --- a/mpegaudiodec.c Mon Sep 18 11:35:48 2006 +0000 +++ b/mpegaudiodec.c Tue Sep 19 09:31:00 2006 +0000 @@ -430,9 +430,9 @@ for(i=0; i<512*16; i++){ int exponent= (i>>4); double f= pow(i&15, 4.0 / 3.0) * pow(2, (exponent-400)*0.25 + FRAC_BITS + 5); - expval_table[exponent][i&15]= lrintf(f); + expval_table[exponent][i&15]= llrint(f); if((i&15)==1) - exp_table[exponent]= lrintf(f); + exp_table[exponent]= llrint(f); } for(i=0;i<7;i++) {