* 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);
sign = -sign;
} else if (!(*other < *i))
return 0;
- --i; --other;
+ --i;
+ if (i != first)
+ --other;
}
if (!swapped)
return sign;
sign = -sign;
} else if (!(*i < *other))
return 0;
- ++i; ++other;
+ ++i;
+ if (i != last)
+ ++other;
}
if (!swapped)
return sign;
sign = -sign;
} else if (!comp(*other, *i))
return 0;
- --i; --other;
+ --i;
+ if (i != first)
+ --other;
}
if (!swapped)
return sign;
sign = -sign;
} else if (!comp(*i, *other))
return 0;
- ++i; ++other;
+ ++i;
+ if (i != last)
+ ++other;
}
if (!swapped)
return sign;
flag = other;
swapped = true;
}
- --i; --other;
+ --i;
+ if (i != first)
+ --other;
}
if (!swapped)
return;
flag = other;
swapped = true;
}
- ++i; ++other;
+ ++i;
+ if (i != last)
+ ++other;
}
if (!swapped)
return;