Move basic, non-numeric macros from util/numeric.h to basicmacros.h

This commit is contained in:
kwolekr 2015-10-27 01:50:46 -04:00
parent 8a6e921cb8
commit 27eed1389b
2 changed files with 32 additions and 10 deletions

31
src/basicmacros.h Normal file

@ -0,0 +1,31 @@
/*
Minetest
Copyright (C) 2010-2013 celeron55, Perttu Ahola <celeron55@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef BASICMACROS_HEADER
#define BASICMACROS_HEADER
#define ARRLEN(x) (sizeof(x) / sizeof((x)[0]))
#define MYMIN(a, b) ((a) < (b) ? (a) : (b))
#define MYMAX(a, b) ((a) > (b) ? (a) : (b))
#define CONTAINS(c, v) (std::find((c).begin(), (c).end(), (v)) != (c).end())
#endif

@ -20,6 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#ifndef UTIL_NUMERIC_HEADER #ifndef UTIL_NUMERIC_HEADER
#define UTIL_NUMERIC_HEADER #define UTIL_NUMERIC_HEADER
#include "../basicmacros.h"
#include "../irrlichttypes.h" #include "../irrlichttypes.h"
#include "../irr_v2d.h" #include "../irr_v2d.h"
#include "../irr_v3d.h" #include "../irr_v3d.h"
@ -28,7 +29,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <list> #include <list>
#include <map> #include <map>
#include <vector> #include <vector>
#include <algorithm>
/* /*
@ -166,9 +166,6 @@ inline v3s16 arealim(v3s16 p, s16 d)
return p; return p;
} }
#define ARRLEN(x) (sizeof(x) / sizeof((x)[0]))
#define CONTAINS(c, v) (std::find((c).begin(), (c).end(), (v)) != (c).end())
// The naive swap performs better than the xor version // The naive swap performs better than the xor version
#define SWAP(t, x, y) do { \ #define SWAP(t, x, y) do { \
t temp = x; \ t temp = x; \
@ -278,12 +275,6 @@ u64 murmur_hash_64_ua(const void *key, int len, unsigned int seed);
bool isBlockInSight(v3s16 blockpos_b, v3f camera_pos, v3f camera_dir, bool isBlockInSight(v3s16 blockpos_b, v3f camera_pos, v3f camera_dir,
f32 camera_fov, f32 range, f32 *distance_ptr=NULL); f32 camera_fov, f32 range, f32 *distance_ptr=NULL);
/*
Some helper stuff
*/
#define MYMIN(a,b) ((a)<(b)?(a):(b))
#define MYMAX(a,b) ((a)>(b)?(a):(b))
/* /*
Returns nearest 32-bit integer for given floating point number. Returns nearest 32-bit integer for given floating point number.
<cmath> and <math.h> in VC++ don't provide round(). <cmath> and <math.h> in VC++ don't provide round().