Integers.cs 893 B

123456789101112131415161718192021222324252627282930313233
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System;
  4. namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities
  5. {
  6. public abstract class Integers
  7. {
  8. public static int RotateLeft(int i, int distance)
  9. {
  10. return (i << distance) ^ (int)((uint)i >> -distance);
  11. }
  12. [CLSCompliantAttribute(false)]
  13. public static uint RotateLeft(uint i, int distance)
  14. {
  15. return (i << distance) ^ (i >> -distance);
  16. }
  17. public static int RotateRight(int i, int distance)
  18. {
  19. return (int)((uint)i >> distance) ^ (i << -distance);
  20. }
  21. [CLSCompliantAttribute(false)]
  22. public static uint RotateRight(uint i, int distance)
  23. {
  24. return (i >> distance) ^ (i << -distance);
  25. }
  26. }
  27. }
  28. #pragma warning restore
  29. #endif