#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <assert.h>#include <time.h>Go to the source code of this file.
Namespaces | |
| namespace | csu |
Defines | |
| #define | FTYPE double |
| #define | FILE_LINE_LENGTH 512 |
| #define | MAX_FILENAME_LENGTH 2048 |
| #define | MIN(v1, v2) ( ((v1) > (v2)) ? (v2) : (v1) ) |
| #define | MAX(v1, v2) ( ((v1) < (v2)) ? (v2) : (v1) ) |
| #define | ABS(v) ( ((v) < 0) ? -(v) : (v) ) |
| #define | SQR(v) ( (v) * (v) ) |
| #define | ROUND(v) ( (int) ((v)+0.5) ) |
| #define | TRUNC(v) ( (int) (v) ) |
| #define | EQUAL_ZERO(v, tol) ( ABS(v) < tol ) |
| #define | DIST_2D(x1, y1, x2, y2) (sqrt(SQR((x1)-(x2))+SQR((y1)-(y2)))) |
| #define | FINITE(n) if(!finite(n)) printf("ERROR: Not Finite - %10s:%5f <%10s,%10s,%3d>\n",#n,n,__FILE__,__FUNCTION__,__LINE__); |
| #define | PI 3.141592654 |
| #define | RANDOM (fabs(((double)random())/RAND_MAX)) |
| #define | ALLOCATE(type, number) ( (type*)csu_allocate(#type, sizeof(type),(number), __FILE__, __LINE__) ) |
| #define | NELEM(v) (sizeof(v)/sizeof(v[0])) |
| #define | MESSAGE(message) |
| #define | MESSAGE1ARG(message, arg1) |
| #define | MESSAGE2ARG(message, arg1, arg2) |
| #define | DEBUG(level, message) |
| #define | DEBUG_FLOAT(level, message, value) |
| #define | DEBUG_DOUBLE(level, message, value) |
| #define | DEBUG_INT(level, message, value) |
| #define | DEBUG_STRING(level, message, value) |
| #define | DEBUG_CHECK(condition, message) |
| #define | DEBUG_CHECK_1ARG(condition, message, arg) |
| #define | DEBUG_CHECK_2ARG(condition, message, arg1, arg2) |
| #define | NOT_IMPLEMENTED DEBUG_CHECK(0,"This function has not yet been implemented"); |
|
|
|
|
|
This macro will allocate space for an N legth array of type to allocate just one do ALLOCATE(type,1) |
|
|
Value: if( level == -1 || level <= debuglevel ){ \ time_t tttt = time(0); \ printf( "**DEBUG %d** \"%s\"\n at [%s]<%s():line %u>\n %s\n", level, message , __FILE__ , __FUNCTION__ , __LINE__, ctime(&tttt)); \ fflush(stdout); \ } |
|
|
Value: if( !(condition) ){\
time_t tttt = time(0); \
printf( "**DEBUG CHECK** Failed check (%s) \"%s\"\n at [%s]<%s():line %u>\n %s\n", #condition, message , __FILE__ , __FUNCTION__ , __LINE__, ctime(&tttt));\
fflush(stdout); \
exit(1);\
} |
|
|
Value: if( !(condition) ){\
time_t tttt = time(0); \
printf( "**DEBUG CHECK** Failed check (%s) \"",#condition);\
printf( message, arg);\
printf("\"\n at [%s]<%s():line %u>\n %s\n", __FILE__ , __FUNCTION__ , __LINE__, ctime(&tttt));\
fflush(stdout); \
exit(1);\
} |
|
|
Value: if( !(condition) ){\
time_t tttt = time(0); \
printf( "**DEBUG CHECK** Failed check (%s) \"",#condition);\
printf( message, arg1, arg2);\
printf("\"\n at [%s]<%s():line %u>\n %s\n", __FILE__ , __FUNCTION__ , __LINE__, ctime(&tttt));\
fflush(stdout); \
exit(1);\
} |
|
|
Value: if( level == -1 || level <= debuglevel ){\ time_t tttt = time(0); \ printf( "**DEBUG %d** \"%s\" %s=%f\n at [%s]<%s():line %u>\n %s\n", level, message, #value , value , __FILE__ , __FUNCTION__ , __LINE__, ctime(&tttt)); \ fflush(stdout); \ } |
|
|
Value: if( level == -1 || level <= debuglevel ){\ time_t tttt = time(0); \ printf( "**DEBUG %d** \"%s\" %s=%f\n at [%s]<%s():line %u>\n %s\n", level, message, #value , value , __FILE__ , __FUNCTION__ , __LINE__, ctime(&tttt)); \ fflush(stdout);\ } |
|
|
Value: if( level == -1 || level <= debuglevel ){\ time_t tttt = time(0); \ printf( "**DEBUG %d** \"%s\" %s=%d\n at [%s]<%s():line %u>\n %s\n", level, message, #value , value , __FILE__ , __FUNCTION__ , __LINE__, ctime(&tttt));\ fflush(stdout); \ } |
|
|
Value: if( level == -1 || level <= debuglevel ){\ time_t tttt = time(0); \ printf( "**DEBUG %d** \"%s\" %s=\"%s\"\n at [%s]<%s():line %u>\n %s\n", level, message , #value,value , __FILE__ , __FUNCTION__ , __LINE__, ctime(&tttt));\ fflush(stdout);\ } |
|
|
|
|
|
|
|
|
First guess at the line length for an image list file |
|
|
|
|
|
The csu codes are setup to use double floats |
|
|
|
|
|
Max length of a filename |
|
|
Value: { \
time_t tttt = time(0); \
if(quiet == 0 || debuglevel != 0) printf(message); \
if(quiet == 0 || debuglevel != 0) printf("\n"); \
if(debuglevel > 0) printf(" [%s]<%s():line %u> %s\n", __FILE__ , __FUNCTION__ , __LINE__, ctime(&tttt)); \
fflush(stdout); \
} |
|
|
Value: { \
time_t tttt = time(0); \
if(quiet == 0 || debuglevel != 0) printf(message, arg1); \
if(quiet == 0 || debuglevel != 0) printf("\n"); \
if(debuglevel > 0) printf(" [%s]<%s():line %u> %s\n", __FILE__ , __FUNCTION__ , __LINE__, ctime(&tttt)); \
fflush(stdout); \
} |
|
|
Value: { \
time_t tttt = time(0); \
if(quiet == 0 || debuglevel != 0) printf(message, arg1, arg2); \
if(quiet == 0 || debuglevel != 0) printf("\n"); \
if(debuglevel > 0) printf(" [%s]<%s():line %u> %s\n", __FILE__ , __FUNCTION__ , __LINE__, ctime(&tttt)); \
fflush(stdout); \
} |
|
|
|
|
|
Number of elements in an array |
|
|
|
|
|
|
|
|
Random number between 0 and 1 |
|
|
|
|
|
|
|
|
|
1.2.14 written by Dimitri van Heesch,
© 1997-2002