X-Git-Url: https://ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=ginac%2Futils.h;h=a4af3300e38d8c9d45370a30d908513a6759c6f2;hb=67467d256b44f5e08498ca81c946d9ffaa25d1e2;hp=e93f9b505314177c3ac2792e64f0aa11bc45e18c;hpb=5a8b8e3c4d882249db35b679ce3144a59a7012e8;p=ginac.git diff --git a/ginac/utils.h b/ginac/utils.h index e93f9b50..a4af3300 100644 --- a/ginac/utils.h +++ b/ginac/utils.h @@ -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-2008 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 @@ -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