* of any interest to the user of the library. */
/*
- * GiNaC Copyright (C) 1999-2009 Johannes Gutenberg University Mainz, Germany
+ * GiNaC Copyright (C) 1999-2015 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
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. */
+ * This can be necessary if the user wants to define its own hashes. */
inline unsigned rotate_left(unsigned n)
{
return (n & 0x80000000U) ? (n << 1 | 0x00000001U) : (n << 1);
template <class It>
int permutation_sign(It first, It last)
{
+ using std::swap;
if (first == last)
return 0;
--last;
bool swapped = false;
while (i != first) {
if (*i < *other) {
- std::iter_swap(other, i);
+ swap(*other, *i);
flag = other;
swapped = true;
sign = -sign;
swapped = false;
while (i != last) {
if (*other < *i) {
- std::iter_swap(i, other);
+ swap(*i, *other);
flag = other;
swapped = true;
sign = -sign;