libk  Diff

Differences From Artifact [b30ab22689]:

To Artifact [efe9d86768]:


    88     88   define(“cat”, “$1$2”)
    89     89   typedef enum kcendian {
    90     90   	kcendian_high,
    91     91   	kcendian_low,
    92     92   	kcendian_system = cat(kcendian_,prop_endian), 
    93     93   } kcendian;
    94     94   
    95         -enum /* max-min values of each type */ {
    96         -	byte_bits = arch_byte_bits,
           95  +define(“defval”,“#define $1 $2
           96  +”)
           97  +
           98  +defval(byte_bits,arch_byte_bits)
           99  +
          100  +
          101  +/* this section was originally defined with enums so
          102  + * as to avoid creating extraneous macros; however,
          103  + * enum in C is limited to values of type int, when
          104  + * we need values that are considerably longer. the
          105  + * section has been commented out until someone has
          106  + * the energy to convert it to #defines.
    97    107   
          108  +enum {
    98    109   	  u8_min = 0,   u8_max = ((u8)-1),
    99    110   	 u16_min = 0,  u16_max = ((u16)-1),
   100    111   	 u32_min = 0,  u32_max = ((u32)-1),
   101    112   	 u64_min = 0,  u64_max = ((u64)-1),
   102    113   	u128_min = 0, u128_max = ((u128)-1),
   103    114   
   104         -	/* assuming two's complement. TODO: check math */
          115  +	// assuming two's complement. TODO: check math 
   105    116   	define(“sspec”,“
   106    117   		$1_min = 0 - ((1 << sizeof($1) * byte_bits) / 2),
   107    118   		$1_max =      (1 << sizeof($1) * byte_bits) / 2 - 1”)dnl
   108    119   
   109    120   	sspec(s8), sspec(s16), sspec(s32),
   110    121   	sspec(s64), sspec(s128),
   111    122   
................................................................................
   123    134   
   124    135   	ubig_min = u128_min, ubig_max = u128_max,
   125    136   	sbig_min = s128_min, sbig_max = s128_max,
   126    137   
   127    138   	ubyte_min = kc_uchar_min, ubyte_max = kc_uchar_max,
   128    139   	sbyte_min = kc_schar_min, sbyte_max = kc_schar_max,
   129    140   };
          141  +*/
   130    142   
   131    143   ifdef(“type_sz”,“
   132    144   	typedef type_sz sz;
   133    145   ”,“dnl
   134    146   #	ifdef __cplusplus
   135    147    	   /* C++ gives us a clean, standardized way to do this */
   136    148    	   typedef decltype (sizeof(char)) sz;