[PD-cvs] externals/iemlib/iemlib2/src iemlib.h,1.3,1.4

musil tmusil at users.sourceforge.net
Wed Oct 24 17:50:00 CEST 2007


Update of /cvsroot/pure-data/externals/iemlib/iemlib2/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26805/iemlib/iemlib2/src

Modified Files:
	iemlib.h 
Log Message:
apple OSX i386 compatible

Index: iemlib.h
===================================================================
RCS file: /cvsroot/pure-data/externals/iemlib/iemlib2/src/iemlib.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** iemlib.h	17 Jan 2007 18:24:21 -0000	1.3
--- iemlib.h	24 Oct 2007 15:49:58 -0000	1.4
***************
*** 2,6 ****
  * WARRANTIES, see the file, "LICENSE.txt," in this distribution.
  
! iemlib written by Thomas Musil, Copyright (c) IEM KUG Graz Austria 2000 - 2006 */
  
  #ifndef __IEMLIB_H__
--- 2,6 ----
  * WARRANTIES, see the file, "LICENSE.txt," in this distribution.
  
! iemlib written by Thomas Musil, Copyright (c) IEM KUG Graz Austria 2000 - 2007 */
  
  #ifndef __IEMLIB_H__
***************
*** 16,21 ****
  #define IS_A_COMMA(atom,index) ((atom+index)->a_type == A_COMMA)
  
  
! #ifdef NT
  int sys_noloadbang;
  //t_symbol *iemgui_key_sym=0;
--- 16,26 ----
  #define IS_A_COMMA(atom,index) ((atom+index)->a_type == A_COMMA)
  
+ /* now miller's code starts : 
+      for 4 point interpolation
+      for lookup tables
+      for denormal floats
+  */
  
! #ifdef MSW
  int sys_noloadbang;
  //t_symbol *iemgui_key_sym=0;
***************
*** 31,72 ****
  #define SAMPBLK 4
  
- 
  #define UNITBIT32 1572864.  /* 3*2^19; bit 32 has place value 1 */
  
! /* machine-dependent definitions.  These ifdefs really
! should have been by CPU type and not by operating system! */
  #ifdef IRIX
! /* big-endian.  Most significant byte is at low address in memory */
  #define HIOFFSET 0    /* word offset to find MSB */
  #define LOWOFFSET 1    /* word offset to find LSB */
  #define int32 long  /* a data type that has 32 bits */
! #else
  #ifdef MSW
! /* little-endian; most significant byte is at highest address */
  #define HIOFFSET 1
  #define LOWOFFSET 0
  #define int32 long
! #else
! #ifdef __FreeBSD__
  #include <machine/endian.h>
- #if BYTE_ORDER == LITTLE_ENDIAN
- #define HIOFFSET 1
- #define LOWOFFSET 0
- #else
- #define HIOFFSET 0    /* word offset to find MSB */
- #define LOWOFFSET 1    /* word offset to find LSB */
- #endif /* BYTE_ORDER */
- #include <sys/types.h>
- #define int32 int32_t
  #endif
- #ifdef __linux__
  
  #include <endian.h>
  
! #if !defined(__BYTE_ORDER) || !defined(__LITTLE_ENDIAN)                         
  #error No byte order defined                                                    
  #endif                                                                          
  
! #if __BYTE_ORDER == __LITTLE_ENDIAN                                             
  #define HIOFFSET 1                                                              
  #define LOWOFFSET 0                                                             
--- 36,71 ----
  #define SAMPBLK 4
  
  #define UNITBIT32 1572864.  /* 3*2^19; bit 32 has place value 1 */
  
!     /* machine-dependent definitions.  These ifdefs really
!     should have been by CPU type and not by operating system! */
  #ifdef IRIX
!     /* big-endian.  Most significant byte is at low address in memory */
  #define HIOFFSET 0    /* word offset to find MSB */
  #define LOWOFFSET 1    /* word offset to find LSB */
  #define int32 long  /* a data type that has 32 bits */
! #endif /* IRIX */
! 
  #ifdef MSW
!     /* little-endian; most significant byte is at highest address */
  #define HIOFFSET 1
  #define LOWOFFSET 0
  #define int32 long
! #endif /* MSW */
! 
! #if defined(__FreeBSD__) || defined(__APPLE__)
  #include <machine/endian.h>
  #endif
  
+ #ifdef __linux__
  #include <endian.h>
+ #endif
  
! #if defined(__unix__) || defined(__APPLE__)
! #if !defined(BYTE_ORDER) || !defined(LITTLE_ENDIAN)                         
  #error No byte order defined                                                    
  #endif                                                                          
  
! #if BYTE_ORDER == LITTLE_ENDIAN                                             
  #define HIOFFSET 1                                                              
  #define LOWOFFSET 0                                                             
***************
*** 75,99 ****
  #define LOWOFFSET 1    /* word offset to find LSB */                            
  #endif /* __BYTE_ORDER */                                                       
- 
  #include <sys/types.h>
  #define int32 int32_t
  
! #else
! #ifdef __APPLE__
! #ifdef __BIG_ENDIAN__
! #define HIOFFSET 0    /* word offset to find MSB */
! #define LOWOFFSET 1    /* word offset to find LSB */
! #else
! #define HIOFFSET 1    /* word offset to find MSB */
! #define LOWOFFSET 0    /* word offset to find LSB */
! #endif
! #define int32 int  /* a data type that has 32 bits */
! 
! #endif /* __APPLE__ */
! #endif /* __linux__ */
! #endif /* MSW */
! #endif /* SGI */
! 
! union tabfudge
  {
    double tf_d;
--- 74,82 ----
  #define LOWOFFSET 1    /* word offset to find LSB */                            
  #endif /* __BYTE_ORDER */                                                       
  #include <sys/types.h>
  #define int32 int32_t
+ #endif /* __unix__ or __APPLE__*/
  
! union tabfudge_d
  {
    double tf_d;
***************
*** 101,104 ****
--- 84,93 ----
  };
  
+ union tabfudge_f
+ {
+   float tf_f;
+   long  tf_l;
+ };
+ 
  #if defined __i386__ || defined __x86_64__
  #define IEM_DENORMAL(f) ((((*(unsigned int*)&(f))&0x60000000)==0) || \





More information about the Pd-cvs mailing list