Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
Int64Aggregator.cs
Go to the documentation of this file.
2
4
6public struct Int64Aggregator
7{
8 private long _result;
9
10 private int _cnt;
11
12 public long SumResult => _result;
13
14 public long AverageResult => _result / _cnt;
15
16 public long MinimumResult => _result;
17
18 public long MaximumResult => _result;
19
20 public bool IsEmpty => _cnt == 0;
21
22 public void Create()
23 {
24 _cnt = 0;
25 }
26
27 public void Sum(long value)
28 {
29 if (_cnt == 0)
30 {
31 _result = value;
32 _cnt = 1;
33 }
34 else
35 {
36 _result += value;
37 }
38 }
39
40 public void Average(long value)
41 {
42 if (_cnt == 0)
43 {
44 _result = value;
45 }
46 else
47 {
48 _result += value;
49 }
50 _cnt++;
51 }
52
53 public void Minimum(long value)
54 {
55 if (_cnt == 0 || value < _result)
56 {
57 _result = value;
58 }
59 _cnt = 1;
60 }
61
62 public void Maximum(long value)
63 {
64 if (_cnt == 0 || value > _result)
65 {
66 _result = value;
67 }
68 _cnt = 1;
69 }
70}