]> www.ginac.de Git - ginac.git/blobdiff - ginac/utils.h
move rotate_left() function away from the public header.
[ginac.git] / ginac / utils.h
index e93f9b505314177c3ac2792e64f0aa11bc45e18c..1cac625624501ab1725d870afbe98ac0a469fd01 100644 (file)
@@ -4,7 +4,7 @@
  *  of any interest to the user of the library. */
 
 /*
- *  GiNaC Copyright (C) 1999-2006 Johannes Gutenberg University Mainz, Germany
+ *  GiNaC Copyright (C) 1999-2007 Johannes Gutenberg University Mainz, Germany
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -44,6 +44,13 @@ class dunno {};
 
 unsigned log2(unsigned n);
 
+/** Rotate bits of unsigned value by one bit to the left.
+  * This can be necesary if the user wants to define its own hashes. */
+inline unsigned rotate_left(unsigned n)
+{
+       return (n & 0x80000000U) ? (n << 1 | 0x00000001U) : (n << 1);
+}
+
 /** Compare two pointers (just to establish some sort of canonical order).
  *  @return -1, 0, or 1 */
 template <class T>
@@ -58,12 +65,6 @@ inline int compare_pointers(const T * a, const T * b)
        return 0;
 }
 
-/** Rotate bits of unsigned value by one bit to the left. */
-inline unsigned rotate_left(unsigned n)
-{
-       return (n & 0x80000000U) ? (n << 1 | 0x00000001U) : (n << 1);
-}
-
 #if SIZEOF_VOID_P == SIZEOF_INT
 typedef unsigned int p_int;
 #elif SIZEOF_VOID_P == SIZEOF_LONG