NEURON
err.c File Reference
#include <../../nrnconf.h>
#include <stdio.h>
#include <setjmp.h>
#include <ctype.h>
#include "err.h"
#include <signal.h>

Go to the source code of this file.

Classes

struct  Err_list
 

Macros

#define FALSE   0
 
#define TRUE   1
 
#define EF_EXIT   0
 
#define EF_ABORT   1
 
#define EF_JUMP   2
 
#define EF_SILENT   3
 
#define E_SIGNAL   16
 
#define MAXERR   (sizeof(err_mesg)/sizeof(char *))
 
#define MAXWARN   (sizeof(warn_mesg)/sizeof(char *))
 
#define MAX_ERRS   100
 

Functions

int err_list_attach (int list_num, int list_len, char **err_ptr, int warn)
 
int err_list_free (int list_num)
 
int err_is_list_attached (int list_num)
 
int set_err_flag (int flag)
 
int count_errs (int flag)
 
int ev_err (char *file, int err_num, int line_num, char *fn_name, int list_num)
 
static void float_error (int num)
 
void catch_FPE ()
 

Variables

static char rcsid [] = "err.c,v 1.1 1997/12/04 17:55:19 hines Exp"
 
static char * err_mesg []
 
static char * warn_mesg []
 
jmp_buf restart
 
static Err_list err_list [ERR_LIST_MAX_LEN]
 
static int err_list_end = 2
 
static int err_flag = EF_EXIT
 
static int num_errs = 0
 
static int cnt_errs = 1
 

Macro Definition Documentation

◆ E_SIGNAL

#define E_SIGNAL   16

Definition at line 66 of file err.c.

◆ EF_ABORT

#define EF_ABORT   1

Definition at line 61 of file err.c.

◆ EF_EXIT

#define EF_EXIT   0

Definition at line 60 of file err.c.

◆ EF_JUMP

#define EF_JUMP   2

Definition at line 62 of file err.c.

◆ EF_SILENT

#define EF_SILENT   3

Definition at line 63 of file err.c.

◆ FALSE

#define FALSE   0

Definition at line 56 of file err.c.

◆ MAX_ERRS

#define MAX_ERRS   100

Definition at line 108 of file err.c.

◆ MAXERR

#define MAXERR   (sizeof(err_mesg)/sizeof(char *))

Definition at line 94 of file err.c.

◆ MAXWARN

#define MAXWARN   (sizeof(warn_mesg)/sizeof(char *))

Definition at line 104 of file err.c.

◆ TRUE

#define TRUE   1

Definition at line 57 of file err.c.

Function Documentation

◆ catch_FPE()

void catch_FPE ( )

Definition at line 346 of file err.c.

◆ count_errs()

int count_errs ( int  flag)

Definition at line 216 of file err.c.

◆ err_is_list_attached()

int err_is_list_attached ( int  list_num)

Definition at line 188 of file err.c.

◆ err_list_attach()

int err_list_attach ( int  list_num,
int  list_len,
char **  err_ptr,
int  warn 
)

Definition at line 138 of file err.c.

◆ err_list_free()

int err_list_free ( int  list_num)

Definition at line 171 of file err.c.

◆ ev_err()

int ev_err ( char *  file,
int  err_num,
int  line_num,
char *  fn_name,
int  list_num 
)

Definition at line 231 of file err.c.

◆ float_error()

static void float_error ( int  num)
static

Definition at line 336 of file err.c.

◆ set_err_flag()

int set_err_flag ( int  flag)

Definition at line 205 of file err.c.

Variable Documentation

◆ cnt_errs

int cnt_errs = 1
static

Definition at line 202 of file err.c.

◆ err_flag

int err_flag = EF_EXIT
static

Definition at line 202 of file err.c.

◆ err_list

Err_list err_list[ERR_LIST_MAX_LEN]
static
Initial value:
= {
}
#define MAXWARN
Definition: err.c:104
#define TRUE
Definition: err.c:57
#define FALSE
Definition: err.c:56
static char * err_mesg[]
Definition: err.c:68
static char * warn_mesg[]
Definition: err.c:96
#define MAXERR
Definition: err.c:94

Definition at line 121 of file err.c.

◆ err_list_end

int err_list_end = 2
static

Definition at line 127 of file err.c.

◆ err_mesg

char* err_mesg[]
static
Initial value:
=
{ "unknown error",
"sizes of objects don't match",
"index out of bounds",
"can't allocate memory",
"singular matrix",
"matrix not positive definite",
"incorrect format input",
"bad input file/device",
"NULL objects passed",
"matrix not square",
"object out of range",
"can't do operation in situ for non-square matrix",
"can't do operation in situ",
"excessive number of iterations",
"convergence criterion failed",
"bad starting value",
"floating exception",
"internal inconsistency (data structure)",
"unexpected end-of-file",
"shared vectors (cannot release them)",
"negative argument",
"cannot overwrite object",
"breakdown in iterative method"
}

Definition at line 68 of file err.c.

◆ num_errs

int num_errs = 0
static

Definition at line 202 of file err.c.

◆ rcsid

char rcsid[] = "err.c,v 1.1 1997/12/04 17:55:19 hines Exp"
static

Definition at line 35 of file err.c.

◆ restart

jmp_buf restart

Definition at line 110 of file err.c.

◆ warn_mesg

char* warn_mesg[]
static
Initial value:
= {
"unknown warning",
"wrong type number (use macro TYPE_*)",
"no corresponding mem_stat_mark",
"computed norm of a residual is less than 0",
"resizing a shared vector"
}

Definition at line 96 of file err.c.