summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2009-08-03 01:38:58 +0000
committerThomas Martitz <kugel@rockbox.org>2009-08-03 01:38:58 +0000
commit85ece84b1c955e2304e8519eb40ad8212a32a3ba (patch)
tree2b70dd38cfa86f04028556eaaeff383e3afc381e /apps
parentaf6060a987a2ad6ecdf62eb6b13dca61d65d7318 (diff)
downloadrockbox-85ece84b1c955e2304e8519eb40ad8212a32a3ba.tar.gz
rockbox-85ece84b1c955e2304e8519eb40ad8212a32a3ba.tar.bz2
rockbox-85ece84b1c955e2304e8519eb40ad8212a32a3ba.zip
Remove various ABS() definitions with a single one using typeof (if using gcc) to avoid multiple evaluations of the input expressions. Speex still uses its own as I didn't want to change this imported code too much.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22129 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/codecs/lib/codeclib.h3
-rw-r--r--apps/codecs/libspeex/arch.h1
-rw-r--r--apps/gui/pitchscreen.c3
-rw-r--r--apps/plugins/calculator.c1
-rw-r--r--apps/plugins/chessbox/gnuchess.c2
-rw-r--r--apps/plugins/invadrox.c5
-rw-r--r--apps/plugins/lib/buflib.c7
-rw-r--r--apps/plugins/spacerocks.c2
8 files changed, 3 insertions, 21 deletions
diff --git a/apps/codecs/lib/codeclib.h b/apps/codecs/lib/codeclib.h
index 52bf72f7dc..e7f45d3572 100644
--- a/apps/codecs/lib/codeclib.h
+++ b/apps/codecs/lib/codeclib.h
@@ -58,9 +58,6 @@ int strcmp(const char *, const char *);
void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *));
-#define abs(x) ((x)>0?(x):-(x))
-#define labs(x) abs(x)
-
/*MDCT library functions*/
extern void mdct_backward(int n, int32_t *in, int32_t *out);
diff --git a/apps/codecs/libspeex/arch.h b/apps/codecs/libspeex/arch.h
index 9f81e0c51e..35b5363837 100644
--- a/apps/codecs/libspeex/arch.h
+++ b/apps/codecs/libspeex/arch.h
@@ -80,6 +80,7 @@
#include "speex/speex_types.h"
#endif
+#undef ABS
#define ABS(x) ((x) < 0 ? (-(x)) : (x)) /**< Absolute integer value. */
#define ABS16(x) ((x) < 0 ? (-(x)) : (x)) /**< Absolute 16-bit value. */
#define MIN16(a,b) ((a) < (b) ? (a) : (b)) /**< Maximum 16-bit value. */
diff --git a/apps/gui/pitchscreen.c b/apps/gui/pitchscreen.c
index 8215da2a97..78d049be10 100644
--- a/apps/gui/pitchscreen.c
+++ b/apps/gui/pitchscreen.c
@@ -23,6 +23,7 @@
#include <string.h>
#include <stdio.h>
#include <math.h>
+#include <stdlib.h> /* for ABS() */
#include "config.h"
#include "sprintf.h"
#include "action.h"
@@ -42,8 +43,6 @@
#include "tdspeed.h"
#endif
-#define ABS(x) ((x) > 0 ? (x) : -(x))
-
#define ICON_BORDER 12 /* icons are currently 7x8, so add ~2 pixels */
/* on both sides when drawing */
diff --git a/apps/plugins/calculator.c b/apps/plugins/calculator.c
index 079a6e500c..3d0105e33d 100644
--- a/apps/plugins/calculator.c
+++ b/apps/plugins/calculator.c
@@ -102,7 +102,6 @@ PLUGIN_HEADER
#define X_5_POS (X_4_POS + REC_WIDTH) /* x5 = 110, column 111 left blank */
#define SIGN(x) ((x)<0?-1:1)
-#define ABS(x) ((x)<0?-(x):(x))
/* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD
diff --git a/apps/plugins/chessbox/gnuchess.c b/apps/plugins/chessbox/gnuchess.c
index b8fef724fc..5c30c6a6df 100644
--- a/apps/plugins/chessbox/gnuchess.c
+++ b/apps/plugins/chessbox/gnuchess.c
@@ -60,7 +60,7 @@
#define maxdepth 30
#define true 1
#define false 0
-#define absv(x) ((x) < 0 ? -(x) : (x))
+#define absv(x) (ABS(x))
#define taxicab(a,b) (abs(column[a]-column[b]) + abs(row[a]-row[b]))
/* ---- Chess datatypes and variables ---- */
diff --git a/apps/plugins/invadrox.c b/apps/plugins/invadrox.c
index d07bf2878b..d424f1f4cb 100644
--- a/apps/plugins/invadrox.c
+++ b/apps/plugins/invadrox.c
@@ -167,11 +167,6 @@ PLUGIN_HEADER
#define UNUSED __attribute__ ((unused))
#endif
-#ifndef ABS
-#define ABS(x) (((x) < 0) ? (-(x)) : (x))
-#endif
-
-
/* Defines common to all models */
#define UFO_Y (SCORENUM_Y + FONT_HEIGHT + ALIEN_HEIGHT)
#define PLAYFIELD_Y (LCD_HEIGHT - SHIP_HEIGHT - 2)
diff --git a/apps/plugins/lib/buflib.c b/apps/plugins/lib/buflib.c
index ddfc82c521..5d03ca4bb9 100644
--- a/apps/plugins/lib/buflib.c
+++ b/apps/plugins/lib/buflib.c
@@ -40,13 +40,6 @@
* case that use a predefined context.
*/
-#define ABS(x) \
-({ \
- typeof(x) xtmp_abs_ = x; \
- xtmp_abs_ = xtmp_abs_ < 0 ? -xtmp_abs_ : xtmp_abs_; \
- xtmp_abs_; \
-})
-
/* Initialize buffer manager */
void
buflib_init(struct buflib_context *ctx, void *buf, size_t size)
diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c
index 7ceec16372..32d48862ae 100644
--- a/apps/plugins/spacerocks.c
+++ b/apps/plugins/spacerocks.c
@@ -246,8 +246,6 @@ PLUGIN_HEADER
#endif
#endif
-#define ABS(x) ((x)>0?(x):-(x))
-
#define RES MAX(LCD_WIDTH, LCD_HEIGHT)
#define LARGE_LCD RES >= 200
#define ENEMY_MISSILE_SURVIVAL_LENGTH RES/2