iir1
Common.h
1 
36 #ifndef IIR1_COMMON_H
37 #define IIR1_COMMON_H
38 
39 //
40 // This must be the first file included in every DspFilters header and source
41 //
42 
43 #ifdef _MSC_VER
44 # pragma warning (disable: 4100)
45 # ifndef _CRT_SECURE_NO_WARNINGS
46 # define _CRT_SECURE_NO_WARNINGS
47 # endif
48 #endif
49 
50 // This exports the classes/structures to the windows DLL
51 #if defined(_WIN32) && defined(iir_EXPORTS)
52 #define IIR_EXPORT __declspec( dllexport )
53 #else
54 #define IIR_EXPORT
55 #endif
56 
57 #include <stdlib.h>
58 
59 #include <cassert>
60 #include <cfloat>
61 #include <cmath>
62 #include <complex>
63 #include <cstring>
64 #include <string>
65 #include <limits>
66 #include <vector>
67 #include <stdexcept> // for invalid_argument
68 
69 static const char orderTooHigh[] = "Requested order is too high. Provide a higher order for the template.";
70 
71 #define DEFAULT_FILTER_ORDER 4
72 
78 inline void throw_invalid_argument(const char* msg) {
79 
80 #ifndef IIR1_NO_EXCEPTIONS
81  throw std::invalid_argument(msg);
82 #else
83  (void) msg; // Discard parameter
84  abort();
85 #endif
86 
87 }
88 
89 #endif