aboutsummaryrefslogtreecommitdiffstats
path: root/src/internals.h
blob: ac74bd54dcc8ee6cfa1ccd4b481d1576396fa0fb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/* See LICENSE file for copyright and license details. */
#include "../zahl.h"

#define BITS_PER_CHAR                32
#define FLOOR_BITS_TO_CHARS(bits)    ((bits) >> 5)
#define CEILING_BITS_TO_CHARS(bits)  (((bits) + (BITS_PER_CHAR - 1)) >> 5)
#define BITS_IN_LAST_CHAR(bits)      ((bits) & (BITS_PER_CHAR - 1))

#define LIST_TEMPS\
	X(libzahl_tmp_a)\
	X(libzahl_tmp_b)\
	X(libzahl_tmp_c)\
	X(libzahl_tmp_d)\
	X(libzahl_tmp_e)\
	X(libzahl_tmp_f)\
	X(libzahl_tmp_g)\
	X(libzahl_tmp_i)\
	X(libzahl_tmp_j)\
	X(libzahl_tmp_k)\
	X(libzahl_tmp_l)\
	X(libzahl_tmp_m)

#define X(x)  extern z_t x;
LIST_TEMPS
#undef X

extern jmp_buf libzahl_jmp_buf;
extern int libzahl_set_up;

#define FAILURE_JUMP()  (longjmp(libzahl_jmp_buf, 1))