📄 idel_porting.h
字号:
/* * System-dependent declarations. * Copyright (C) 2001-2002 Darius Bacon * * You might have to change these by hand on a 64-bit system -- * I haven't tried this on one yet. */#ifndef _IDEL_PORTING#define _IDEL_PORTING/* If you use a type with a larger word size here (e.g. 64 bits), code will break. I think the breakitude would be mostly limited to acting like a machine with the larger wordsize, but that still violates our deterministic-behavior promise. */typedef signed int idel_i32; /* 32-bit, signed */typedef unsigned int idel_u32; /* 32-bit, unsigned */typedef signed char idel_i8; /* 8-bit, signed */typedef unsigned char idel_u8; /* 8-bit, unsigned */enum { idel_word_bits = 32 };enum { idel_word_size = (int) sizeof (idel_u32) };/* The effect of >> on a negative number is not specified by the C standard. We need it to round to -infinity, so we encapsulate that in asr: */#define idel_ASR(x, y) ( (x) >> (y) )/* The direction of rounding in division of signed integers is implementation-specified. These should round towards 0: */#define idel_IDIV0(x, y) ( (x) / (y) )#define idel_IMOD0(x, y) ( (x) % (y) )/* There are other unspecified behaviors like arithmetic overflow, but I haven't got around to wrappers for them yet... */#ifdef WORDS_BIGENDIANenum { idel_endianness = 0 };#elseenum { idel_endianness = 3 };#endif#endif /* _IDEL_PORTING */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -