The rounding can cause a surprising amount of trouble in book creation.
authorMonty <xiphmont@xiph.org>
Sat, 13 Feb 2010 19:26:42 +0000 (19:26 +0000)
committerMonty <xiphmont@xiph.org>
Sat, 13 Feb 2010 19:26:42 +0000 (19:26 +0000)
svn path=/trunk/vorbis/; revision=16897

lib/sharedbook.c

index 2b0b9ec..7cc96b0 100644 (file)
@@ -52,7 +52,7 @@ long _float32_pack(float val){
     sign=0x80000000;
     val= -val;
   }
-  exp= floor(log(val)/log(2.f));
+  exp= floor(log(val)/log(2.f)+.001); //+epsilon
   mant=rint(ldexp(val,(VQ_FMAN-1)-exp));
   exp=(exp+VQ_FEXP_BIAS)<<VQ_FMAN;