]> git.rkrishnan.org Git - dttsp.git/blob - jDttSP/win/banal.h
Initial revision
[dttsp.git] / jDttSP / win / banal.h
1 /* banal.h\r
2    stuff we're too embarrassed to declare otherwise\r
3    \r
4   This file is part of a program that implements a Software-Defined Radio.\r
5 \r
6 Copyright (C) 2004 by Frank Brickle, AB2KT and Bob McGwier, N4HY\r
7 \r
8 This program is free software; you can redistribute it and/or modify\r
9 it under the terms of the GNU General Public License as published by\r
10 the Free Software Foundation; either version 2 of the License, or\r
11 (at your option) any later version.\r
12 \r
13 This program is distributed in the hope that it will be useful,\r
14 but WITHOUT ANY WARRANTY; without even the implied warranty of\r
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
16 GNU General Public License for more details.\r
17 \r
18 You should have received a copy of the GNU General Public License\r
19 along with this program; if not, write to the Free Software\r
20 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
21 \r
22 The authors can be reached by email at\r
23 \r
24 ab2kt@arrl.net\r
25 or\r
26 rwmcgwier@comcast.net\r
27 \r
28 or by paper mail at\r
29 \r
30 The DTTS Microwave Society\r
31 6 Kathleen Place\r
32 Bridgewater, NJ 08807\r
33 */\r
34 \r
35 #ifndef _banal_h\r
36 \r
37 #define _banal_h\r
38 \r
39 #include <fromsys.h>\r
40 #ifndef min\r
41 #define min(a, b) ((a) < (b) ? (a) : (b))\r
42 #endif\r
43 #ifndef max\r
44 #define max(a, b) ((a) > (b) ? (a) : (b))\r
45 #endif\r
46 #define abs(a) ((a) >= 0 ? (a) : -(a))\r
47 \r
48 #define MONDO 1e15\r
49 #define BITSY 1e-15\r
50 \r
51 #define TRUE 1\r
52 #define FALSE 0\r
53 \r
54 _inline void\r
55 nilfunc(void) {}\r
56 \r
57 _inline double\r
58 sqr(double x) { return x * x; }\r
59 \r
60 _inline int\r
61 popcnt(int k) {\r
62   int c, i;\r
63   c = k & 01;\r
64   for (i = 1; i < 32; i++) c += (k >> i) & 01;\r
65   return c;\r
66 }\r
67 \r
68 _inline int\r
69 npoof2(int n) {\r
70   int i = 0;\r
71   --n;\r
72   while (n > 0) n >>= 1, i++;\r
73   return i;\r
74 }\r
75 \r
76 _inline int\r
77 nblock2(int n) { return 1 << npoof2(n); }\r
78 \r
79 extern int in_blocks(int count, int block_size);\r
80 extern FILE *efopen(char *path, char *mode);\r
81 extern FILE *efreopen(char *path, char *mode, FILE *strm);\r
82 extern size_t filesize(char *path);\r
83 extern size_t fdsize(int fd);\r
84 #ifndef _WINDOWS\r
85 extern struct timeval now_tv(void);\r
86 extern struct timeval diff_tv(struct timeval *, struct timeval *);\r
87 extern struct timeval sum_tv(struct timeval *, struct timeval *);\r
88 extern char *fmt_tv(struct timeval *);\r
89 extern char *since(struct timeval *);\r
90 extern struct timeval now_tv(void);\r
91 #endif\r
92 extern int hinterp_vec(REAL *, int, REAL *, int);\r
93 #endif\r
94 \r
95 \r