12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
- #pragma warning disable
- using System;
- #if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER || UNITY_2021_2_OR_NEWER
- using System.Buffers.Binary;
- #endif
- namespace Best.HTTP.SecureProtocol.Org.BouncyCastle.Utilities
- {
- public static class Shorts
- {
- public const int NumBits = 16;
- public const int NumBytes = 2;
- public static short ReverseBytes(short i)
- {
- #if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER || UNITY_2021_2_OR_NEWER
- return BinaryPrimitives.ReverseEndianness(i);
- #else
- return RotateLeft(i, 8);
- #endif
- }
- [CLSCompliant(false)]
- public static ushort ReverseBytes(ushort i)
- {
- #if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER || UNITY_2021_2_OR_NEWER
- return BinaryPrimitives.ReverseEndianness(i);
- #else
- return RotateLeft(i, 8);
- #endif
- }
- public static short RotateLeft(short i, int distance)
- {
- return (short)RotateLeft((ushort)i, distance);
- }
- [CLSCompliant(false)]
- public static ushort RotateLeft(ushort i, int distance)
- {
- return (ushort)((i << distance) | (i >> (16 - distance)));
- }
- public static short RotateRight(short i, int distance)
- {
- return (short)RotateRight((ushort)i, distance);
- }
- [CLSCompliant(false)]
- public static ushort RotateRight(ushort i, int distance)
- {
- return (ushort)((i >> distance) | (i << (16 - distance)));
- }
- }
- }
- #pragma warning restore
- #endif
|