UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MeanValue.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreTypes.h"
6
7namespace BuildPatchServices
8{
13 {
14 public:
15
17 : ReliabilityCount(10)
18 , Count(0)
19 , Total(0)
20 , TotalSqs(0)
21 { }
22
24 : ReliabilityCount(InReliabilityCount)
25 , Count(0)
26 , Total(0)
27 , TotalSqs(0)
28 { }
29
30 void Reset()
31 {
32 Count = 0;
33 Total = 0;
34 TotalSqs = 0;
35 }
36
37 bool IsReliable() const
38 {
39 return Count > ReliabilityCount;
40 }
41
42 void GetValues(double& Mean, double& Std) const
43 {
44 Mean = GetMean();
45 Std = GetStd(Mean);
46 }
47
48 void AddSample(double Sample)
49 {
50 Total += Sample;
51 TotalSqs += Sample * Sample;
52 ++Count;
53 }
54
55 private:
56 double GetMean() const
57 {
58 checkSlow(Count > 0);
59 return Total / Count;
60 }
61
62 double GetStd(double Mean) const
63 {
64 return FMath::Sqrt((TotalSqs / Count) - (Mean * Mean));
65 }
66
67 private:
68 const uint64 ReliabilityCount;
69 uint64 Count;
70 double Total;
71 double TotalSqs;
72 };
73}
#define checkSlow(expr)
Definition AssertionMacros.h:332
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition MeanValue.h:13
FMeanValue(uint64 InReliabilityCount)
Definition MeanValue.h:23
FMeanValue()
Definition MeanValue.h:16
void AddSample(double Sample)
Definition MeanValue.h:48
void GetValues(double &Mean, double &Std) const
Definition MeanValue.h:42
bool IsReliable() const
Definition MeanValue.h:37
void Reset()
Definition MeanValue.h:30
Definition BuildPatchFileConstructor.h:28