Index: mppenc/branches/r2d/src/mppdec.h
===================================================================
--- mppenc/branches/r2d/src/mppdec.h	(revision 74)
+++ mppenc/branches/r2d/src/mppdec.h	(revision 76)
@@ -356,9 +356,9 @@
 # define INVALID_FILEDESC       (-1)
 # define CLOSE(fd)              close (fd)                   // CLOSE   returns -1 on error, otherwise 0
-# if defined HAVE_INCOMPLETE_READ
-#  define READ(fd,ptr,len)      complete_read (fd, ptr, len) // READ    returns -1 or 0 on error/EOF, otherwise > 0
-# else
-#  define READ(fd,ptr,len)      (size_t)read   (fd, ptr, len)// READ    returns -1 or 0 on error/EOF, otherwise > 0
-# endif
+// # if defined HAVE_INCOMPLETE_READ
+// #  define READ(fd,ptr,len)      complete_read (fd, ptr, len) // READ    returns -1 or 0 on error/EOF, otherwise > 0
+// # else
+// #  define READ(fd,ptr,len)      (size_t)read   (fd, ptr, len)// READ    returns -1 or 0 on error/EOF, otherwise > 0
+// # endif
 # define READ1(fd,ptr)          (size_t)read   (fd, ptr, 1)  // READ    returns -1 or 0 on error/EOF, otherwise > 0
 # define WRITE(fd,ptr,len)      (size_t)write  (fd, ptr, len)// WRITE   returns -1 or 0 on error/EOF, otherwise > 0
@@ -1051,12 +1051,4 @@
 
 // tools.c
-// size_t     Read_LittleEndians         ( FILE_T fp, Uint32_t* dst, size_t words32bit );
-// void       Requantize_MidSideStereo   ( Int Stop_Band, const Bool_t* used_MS );
-// void       Requantize_IntensityStereo ( Int Start_Band, Int Stop_Band );
-// // void       Resort_HuffTable           ( Huffman_t* const Table, const size_t elements, Int offset );
-// // void       Make_HuffTable             ( Huffman_t* dst, const HuffSrc_t* src, size_t len );
-// // void       Make_LookupTable           ( Uint8_t* LUT, size_t LUT_len, const Huffman_t* const Table, const size_t elements );
-// size_t     complete_read              ( int fd, void* dest, size_t bytes );
-// int        isdir                      ( const char* Name );
 // FIXME : what is this ? where does it go ?
 void       Init_FPU                   ( void );
Index: mppenc/branches/r2d/src/mppenc.c
===================================================================
--- mppenc/branches/r2d/src/mppenc.c	(revision 74)
+++ mppenc/branches/r2d/src/mppenc.c	(revision 76)
@@ -1560,4 +1560,31 @@
 }
 
+// FIXME : not sure if it's a good idea
+#include <fpu_control.h>
+
+void Init_FPU ( void )
+{
+	mpc_uint16_t  cw;
+
+#if   defined __i386__  &&  defined _FPU_GETCW  &&  defined _FPU_SETCW
+    _FPU_GETCW ( cw );
+    cw  &=  ~0x300;
+	_FPU_SETCW ( cw );
+#elif defined __i386__  &&  defined  FPU_GETCW  &&  defined  FPU_SETCW
+    FPU_GETCW ( cw );
+    cw  &=  ~0x300;
+	FPU_SETCW ( cw );
+#elif defined __MINGW32__
+    __asm__ ("fnstcw %0" : "=m" (*&cw));
+    cw  &=  ~0x300;
+	__asm__ ("fldcw %0" : : "m" (*&cw));
+#elif defined(_WIN32) && !defined(_WIN64)
+    _asm { fstcw cw };
+    cw  &=  ~0x300;
+	_asm { fldcw cw };
+#else
+    ;
+#endif
+}
 
 static int
@@ -1597,5 +1624,4 @@
 	Init_Psychoakustik (&m);
 	Init_FPU ();
-	Init_ANS ();
 	Klemm    ();
 
Index: mppenc/branches/r2d/src/mppenc.h
===================================================================
--- mppenc/branches/r2d/src/mppenc.h	(revision 74)
+++ mppenc/branches/r2d/src/mppenc.h	(revision 76)
@@ -73,5 +73,4 @@
 void   Init_Psychoakustiktabellen ( PsyModel* );
 
-void   Init_ANS   ( void );
 void   NS_Analyse (PsyModel*, const int, const unsigned char* MS, const SMRTyp, const int* Transient );
 
