Skip to content

Commit

Permalink
Move basic, non-numeric macros from util/numeric.h to basicmacros.h
Browse files Browse the repository at this point in the history
  • Loading branch information
kwolekr committed Oct 27, 2015
1 parent 8a6e921 commit 27eed13
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 10 deletions.
31 changes: 31 additions & 0 deletions src/basicmacros.h
@@ -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())

This comment has been minimized.

Copy link
@ShadowNinja

ShadowNinja Oct 27, 2015

Member

You should mention that this depends on <algorithm>.

This comment has been minimized.

Copy link
@kwolekr

kwolekr Oct 28, 2015

Author Contributor

Too late for that... PilzAdam already re-added the dependency.


#endif
11 changes: 1 addition & 10 deletions src/util/numeric.h
Expand Up @@ -20,6 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#ifndef UTIL_NUMERIC_HEADER
#define UTIL_NUMERIC_HEADER

#include "../basicmacros.h"
#include "../irrlichttypes.h"
#include "../irr_v2d.h"
#include "../irr_v3d.h"
Expand All @@ -28,7 +29,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <list>
#include <map>
#include <vector>
#include <algorithm>


/*
Expand Down Expand Up @@ -166,9 +166,6 @@ inline v3s16 arealim(v3s16 p, s16 d)
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
#define SWAP(t, x, y) do { \
t temp = x; \
Expand Down Expand Up @@ -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,
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.
<cmath> and <math.h> in VC++ don't provide round().
Expand Down

0 comments on commit 27eed13

Please sign in to comment.