iir1
Loading...
Searching...
No Matches
Common.h
1
35
36 #pragma once
37
38//
39// This must be the first file included in every DspFilters header and source
40//
41
42#ifdef _MSC_VER
43# pragma warning (disable: 4100)
44# ifndef _CRT_SECURE_NO_WARNINGS
45# define _CRT_SECURE_NO_WARNINGS
46# endif
47#endif
48
49// This exports the classes/structures to the windows DLL
50#if defined(_WIN32) && defined(iir_EXPORTS)
51#define IIR_EXPORT __declspec( dllexport )
52#else
53#define IIR_EXPORT
54#endif
55
56#include <stdlib.h>
57
58#include <cassert>
59#include <cfloat>
60#include <cmath>
61#include <complex>
62#include <cstring>
63#include <string>
64#include <limits>
65#include <vector>
66#include <array>
67#include <stdexcept> // for invalid_argument
68
69static const char orderTooHigh[] = "Requested order is too high. Provide a higher order for the template.";
70
71#define DEFAULT_FILTER_ORDER 4
72
78inline 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}