Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

csuCommonUtil.h File Reference

#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");


Define Documentation

#define ABS      ( ((v) < 0) ? -(v) : (v) )
 

#define ALLOCATE type,
number       ( (type*)csu_allocate(#type, sizeof(type),(number), __FILE__, __LINE__) )
 

This macro will allocate space for an N legth array of type to allocate just one do ALLOCATE(type,1)

#define DEBUG level,
message   
 

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); \
    }

#define DEBUG_CHECK condition,
message   
 

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);\
}

#define DEBUG_CHECK_1ARG condition,
message,
arg   
 

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);\
}

#define DEBUG_CHECK_2ARG condition,
message,
arg1,
arg2   
 

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);\
}

#define DEBUG_DOUBLE level,
message,
value   
 

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); \
    }

#define DEBUG_FLOAT level,
message,
value   
 

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);\
    }

#define DEBUG_INT level,
message,
value   
 

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); \
    }

#define DEBUG_STRING level,
message,
value   
 

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);\
    }

#define DIST_2D x1,
y1,
x2,
y2       (sqrt(SQR((x1)-(x2))+SQR((y1)-(y2))))
 

#define EQUAL_ZERO v,
tol       ( ABS(v) < tol )
 

#define FILE_LINE_LENGTH   512
 

First guess at the line length for an image list file

#define FINITE      if(!finite(n)) printf("ERROR: Not Finite - %10s:%5f <%10s,%10s,%3d>\n",#n,n,__FILE__,__FUNCTION__,__LINE__);
 

#define FTYPE   double
 

The csu codes are setup to use double floats

#define MAX v1,
v2       ( ((v1) < (v2)) ? (v2) : (v1) )
 

#define MAX_FILENAME_LENGTH   2048
 

Max length of a filename

#define MESSAGE message   
 

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); \
    }

#define MESSAGE1ARG message,
arg1   
 

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); \
    }

#define MESSAGE2ARG message,
arg1,
arg2   
 

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); \
    }

#define MIN v1,
v2       ( ((v1) > (v2)) ? (v2) : (v1) )
 

#define NELEM      (sizeof(v)/sizeof(v[0]))
 

Number of elements in an array

#define NOT_IMPLEMENTED   DEBUG_CHECK(0,"This function has not yet been implemented");
 

#define PI   3.141592654
 

#define RANDOM   (fabs(((double)random())/RAND_MAX))
 

Random number between 0 and 1

#define ROUND      ( (int) ((v)+0.5) )
 

#define SQR      ( (v) * (v) )
 

#define TRUNC      ( (int) (v) )
 


Generated on Wed Apr 23 10:42:34 2003 for BioFilter by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002