OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
macros.h File Reference

Shared macros used throughout the legacy SWMM engine. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define MEMCHECK(x)
 
#define FREE(x)
 
#define ABS(x)
 
#define MIN(x, y)
 
#define MAX(x, y)
 
#define MOD(x, y)
 
#define LOG10(x)
 
#define SQR(x)
 
#define SGN(x)
 
#define SIGN(x, y)
 
#define UCHAR(x)
 
#define ARRAY_LENGTH(x)
 
#define CALL(x)
 

Detailed Description

Shared macros used throughout the legacy SWMM engine.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com (OpenSWMM maintenance and extensions)
License
Apache-2.0 for OpenSWMM contributions; original EPA SWMM provenance is retained.

Macro Definition Documentation

◆ ABS

#define ABS ( x)
Value:
(((x) < 0) ? -(x) : (x)) /* absolute value of x */

◆ ARRAY_LENGTH

#define ARRAY_LENGTH ( x)
Value:
(sizeof(x) / sizeof(x[0])) /* length of array x */

◆ CALL

#define CALL ( x)
Value:
(ErrorCode = ((ErrorCode > 0) ? (ErrorCode) : (x)))
EXTERN int ErrorCode
Definition globals.h:99

◆ FREE

#define FREE ( x)
Value:
{ \
if (x) { \
free(x); \
x = NULL; \
} \
}

◆ LOG10

#define LOG10 ( x)
Value:
((x) > 0.0 ? log10((x)) : (x)) /* safe log10 of x */

◆ MAX

#define MAX ( x,
y )
Value:
(((x) >= (y)) ? (x) : (y)) /* maximum of x and y */
double * y
Definition odesolve.c:37

◆ MEMCHECK

#define MEMCHECK ( x)
Value:
(((x) == NULL) ? 101 : 0)

◆ MIN

#define MIN ( x,
y )
Value:
(((x) <= (y)) ? (x) : (y)) /* minimum of x and y */

◆ MOD

#define MOD ( x,
y )
Value:
((x) % (y)) /* x modulus y */

◆ SGN

#define SGN ( x)
Value:
(((x) < 0) ? (-1) : (1)) /* sign of x */

◆ SIGN

#define SIGN ( x,
y )
Value:
((y) >= 0.0 ? fabs(x) : -fabs(x))

◆ SQR

#define SQR ( x)
Value:
((x) * (x)) /* x-squared */

◆ UCHAR

#define UCHAR ( x)
Value:
(((x) >= 'a' && (x) <= 'z') ? ((x) & ~32) : (x))