#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "arithmetique.h"
Go to the source code of this file.
Classes | |
struct | linear_exception_holder |
Defines | |
#define | FALSE 0 |
#define | TRUE 1 |
#define | MAX_STACKED_CONTEXTS 64 |
#define | exception_debug_message(type) |
#define | exception_debug_trace(type) if (linear_exception_debug_mode) { exception_debug_message(type); } |
#define | same_string_p(s1, s2) (strcmp((s1),(s2))==0) |
Typedefs | |
typedef int | boolean |
Functions | |
const char * | get_exception_name (unsigned int exception) |
void | set_exception_callbacks (exception_callback_t push, exception_callback_t pop) |
void | dump_exception_stack_to_file (FILE *f) |
void | dump_exception_stack () |
jmp_buf * | push_exception_on_stack (int what, const char *function, const char *file, int line) |
void | pop_exception_from_stack (int what, const char *function, const char *file, int line) |
void | throw_exception (int what, const char *function, const char *file, int line) |
void | linear_initialize_exception_stack (unsigned int verbose_exceptions, exception_callback_t push, exception_callback_t pop) |
Variables | |
unsigned int | overflow_error = 1 |
unsigned int | simplex_arithmetic_error = 2 |
unsigned int | user_exception_error = 4 |
unsigned int | parser_exception_error = 8 |
unsigned int | timeout_error = 16 |
unsigned int | any_exception_error = ~0 |
unsigned int | the_last_just_thrown_exception = 0 |
static int | linear_exception_debug_mode = FALSE |
static unsigned int | linear_exception_verbose = 1 | 2 | 16 |
static linear_exception_holder | exception_stack [MAX_STACKED_CONTEXTS] |
static int | exception_index = 0 |
static exception_callback_t | push_callback = NULL |
static exception_callback_t | pop_callback = NULL |
int | linear_number_of_exception_thrown = 0 |
#define exception_debug_message | ( | type | ) |
fprintf(stderr, "%s[%s:%d %s (%d)/%d]\n", \ type, file, line, function, what, exception_index)
Definition at line 238 of file errors.c.
Referenced by pop_exception_from_stack(), push_exception_on_stack(), and throw_exception().
#define exception_debug_trace | ( | type | ) | if (linear_exception_debug_mode) { exception_debug_message(type); } |
Definition at line 242 of file errors.c.
Referenced by pop_exception_from_stack(), push_exception_on_stack(), and throw_exception().
#define MAX_STACKED_CONTEXTS 64 |
Definition at line 187 of file errors.c.
Referenced by push_exception_on_stack().
#define same_string_p | ( | s1, | |||
s2 | ) | (strcmp((s1),(s2))==0) |
Definition at line 278 of file errors.c.
Referenced by pop_exception_from_stack().
void dump_exception_stack | ( | void | ) |
Definition at line 233 of file errors.c.
References dump_exception_stack_to_file().
Referenced by pop_exception_from_stack(), push_exception_on_stack(), and throw_exception().
void dump_exception_stack_to_file | ( | FILE * | f | ) |
Definition at line 216 of file errors.c.
References exception_index.
Referenced by dump_exception_stack().
const char* get_exception_name | ( | unsigned int | exception | ) |
Definition at line 136 of file errors.c.
References any_exception_error, overflow_error, parser_exception_error, simplex_arithmetic_error, timeout_error, and user_exception_error.
void linear_initialize_exception_stack | ( | unsigned int | verbose_exceptions, | |
exception_callback_t | push, | |||
exception_callback_t | pop | |||
) |
Definition at line 384 of file errors.c.
References linear_exception_verbose, and set_exception_callbacks().
void pop_exception_from_stack | ( | int | what, | |
const char * | function, | |||
const char * | file, | |||
int | line | |||
) |
Definition at line 285 of file errors.c.
References dump_exception_stack(), exception_debug_message, exception_debug_trace, exception_index, pop_callback, same_string_p, and the_last_just_thrown_exception.
jmp_buf* push_exception_on_stack | ( | int | what, | |
const char * | function, | |||
const char * | file, | |||
int | line | |||
) |
Definition at line 249 of file errors.c.
References dump_exception_stack(), exception_debug_message, exception_debug_trace, exception_index, linear_exception_holder::file, linear_exception_holder::function, linear_exception_holder::line, MAX_STACKED_CONTEXTS, push_callback, the_last_just_thrown_exception, linear_exception_holder::what, and linear_exception_holder::where.
void set_exception_callbacks | ( | exception_callback_t | push, | |
exception_callback_t | pop | |||
) |
Definition at line 196 of file errors.c.
References pop_callback, and push_callback.
Referenced by linear_initialize_exception_stack().
void throw_exception | ( | int | what, | |
const char * | function, | |||
const char * | file, | |||
int | line | |||
) |
Definition at line 329 of file errors.c.
References dump_exception_stack(), exception_debug_message, exception_debug_trace, exception_index, linear_exception_debug_mode, linear_exception_verbose, linear_number_of_exception_thrown, pop_callback, and the_last_just_thrown_exception.
unsigned int any_exception_error = ~0 |
Definition at line 116 of file errors.c.
Referenced by AddConstraints(), AddRays(), align_context(), BuildSat(), Chernikova(), Constraints2Polyhedron(), DomainConvex(), DomainCost(), DomainImage(), DomainPreimage(), FindSimple(), Gauss4(), get_exception_name(), Polyhedron_Image(), Polyhedron_Preimage(), Rays2Polyhedron(), Rays_Mult(), Rays_Mult_Transpose(), Remove_Redundants(), SimplifyConstraints(), Stras_DomainSimplify(), and SubConstraint().
int exception_index = 0 [static] |
Definition at line 189 of file errors.c.
Referenced by dump_exception_stack_to_file(), pop_exception_from_stack(), push_exception_on_stack(), and throw_exception().
linear_exception_holder exception_stack[MAX_STACKED_CONTEXTS] [static] |
int linear_exception_debug_mode = FALSE [static] |
Definition at line 160 of file errors.c.
Referenced by throw_exception().
unsigned int linear_exception_verbose = 1 | 2 | 16 [static] |
Definition at line 161 of file errors.c.
Referenced by linear_initialize_exception_stack(), and throw_exception().
Definition at line 212 of file errors.c.
Referenced by throw_exception().
unsigned int overflow_error = 1 |
Definition at line 109 of file errors.c.
Referenced by Ehrhart_Quick_Apx_Full_Dim(), Enumerate_NoParameters(), get_exception_name(), and Polyhedron_Enumerate().
unsigned int parser_exception_error = 8 |
Definition at line 112 of file errors.c.
Referenced by get_exception_name().
exception_callback_t pop_callback = NULL [static] |
Definition at line 194 of file errors.c.
Referenced by pop_exception_from_stack(), set_exception_callbacks(), and throw_exception().
exception_callback_t push_callback = NULL [static] |
Definition at line 193 of file errors.c.
Referenced by push_exception_on_stack(), and set_exception_callbacks().
unsigned int simplex_arithmetic_error = 2 |
Definition at line 110 of file errors.c.
Referenced by get_exception_name().
unsigned int the_last_just_thrown_exception = 0 |
Definition at line 156 of file errors.c.
Referenced by pop_exception_from_stack(), push_exception_on_stack(), and throw_exception().
unsigned int timeout_error = 16 |
Definition at line 113 of file errors.c.
Referenced by get_exception_name().
unsigned int user_exception_error = 4 |
Definition at line 111 of file errors.c.
Referenced by get_exception_name().