Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
Util.cs
Go to the documentation of this file.
2
4
5internal static class Util
6{
7 private sealed class FastIntComparer : Comparer<int>
8 {
9 public override int Compare(int x, int y)
10 {
11 return x.CompareTo(y);
12 }
13 }
14
15 private sealed class FastLongComparer : Comparer<long>
16 {
17 public override int Compare(long x, long y)
18 {
19 return x.CompareTo(y);
20 }
21 }
22
23 private sealed class FastFloatComparer : Comparer<float>
24 {
25 public override int Compare(float x, float y)
26 {
27 return x.CompareTo(y);
28 }
29 }
30
31 private sealed class FastDoubleComparer : Comparer<double>
32 {
33 public override int Compare(double x, double y)
34 {
35 return x.CompareTo(y);
36 }
37 }
38
39 private sealed class FastDateTimeComparer : Comparer<DateTime>
40 {
41 public override int Compare(DateTime x, DateTime y)
42 {
43 return x.CompareTo(y);
44 }
45 }
46
47 private static readonly FastIntComparer s_fastIntComparer = new FastIntComparer();
48
49 private static readonly FastLongComparer s_fastLongComparer = new FastLongComparer();
50
52
54
56
57 internal static int Sign(int x)
58 {
59 if (x >= 0)
60 {
61 if (x != 0)
62 {
63 return 1;
64 }
65 return 0;
66 }
67 return -1;
68 }
69
71 {
72 if (typeof(TKey) == typeof(int))
73 {
74 return (Comparer<TKey>)(object)s_fastIntComparer;
75 }
76 if (typeof(TKey) == typeof(long))
77 {
78 return (Comparer<TKey>)(object)s_fastLongComparer;
79 }
80 if (typeof(TKey) == typeof(float))
81 {
82 return (Comparer<TKey>)(object)s_fastFloatComparer;
83 }
84 if (typeof(TKey) == typeof(double))
85 {
87 }
88 if (typeof(TKey) == typeof(DateTime))
89 {
91 }
92 return Comparer<TKey>.Default;
93 }
94}
override int Compare(DateTime x, DateTime y)
Definition Util.cs:41
override int Compare(double x, double y)
Definition Util.cs:33
override int Compare(float x, float y)
Definition Util.cs:25
override int Compare(int x, int y)
Definition Util.cs:9
override int Compare(long x, long y)
Definition Util.cs:17
static readonly FastLongComparer s_fastLongComparer
Definition Util.cs:49
static Comparer< TKey > GetDefaultComparer< TKey >()
Definition Util.cs:70
static readonly FastDateTimeComparer s_fastDateTimeComparer
Definition Util.cs:55
static int Sign(int x)
Definition Util.cs:57
static readonly FastDoubleComparer s_fastDoubleComparer
Definition Util.cs:53
static readonly FastFloatComparer s_fastFloatComparer
Definition Util.cs:51
static readonly FastIntComparer s_fastIntComparer
Definition Util.cs:47
int CompareTo(object? value)
Definition DateTime.cs:561