Re: [PATCH 1/3] virutil: Introduce a new macro named CLAMP.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/15/2014 08:53 PM, Martin Kletzander wrote:
On Thu, May 15, 2014 at 06:39:49PM +0900, Dongsheng Yang wrote:
This patch introduce a new macro to return a
value clamped to a given range.

Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx>
---
src/util/virutil.h | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/src/util/virutil.h b/src/util/virutil.h
index 2bb74e2..e8536d8 100644
--- a/src/util/virutil.h
+++ b/src/util/virutil.h
@@ -37,6 +37,12 @@
# ifndef MAX
#  define MAX(a, b) ((a) > (b) ? (a) : (b))
# endif
+# ifndef CLAMP
+#  define CLAMP(v, min, max) ({         \
+        typeof(v) _v = v;               \
+        _v = _v < min ? min: _v;        \
+        _v > max ? max: _v; })
+# endif


It's just my subjective impression, but wouldn't the following be a
bit more readable and less obfuscated?

#define CLAMP(v, min, max) MAX(MIN(v, max), min)

Neat! I think it works. I will use it in v2.

Thanx

Martin.

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]