Pass large structs byref instead

This commit is contained in:
Asriel Camora
2023-11-10 18:41:58 -08:00
parent 3edb156d97
commit 036cbb2fb4
9 changed files with 21 additions and 27 deletions
+3 -3
View File
@@ -19,7 +19,7 @@ public struct SimulationNode
public readonly bool IsComplete => CompletionState != CompletionState.Incomplete;
public SimulationNode(SimulationState state, ActionType? action, CompletionState completionState, ActionSet actions)
public SimulationNode(in SimulationState state, ActionType? action, CompletionState completionState, ActionSet actions)
{
State = state;
Action = action;
@@ -32,10 +32,10 @@ public struct SimulationNode
CompletionState.NoMoreActions :
simCompletionState;
public readonly float? CalculateScore(MCTSConfig config) =>
public readonly float? CalculateScore(in MCTSConfig config) =>
CalculateScoreForState(State, SimulationCompletionState, config);
public static float? CalculateScoreForState(SimulationState state, CompletionState completionState, MCTSConfig config)
public static float? CalculateScoreForState(in SimulationState state, CompletionState completionState, MCTSConfig config)
{
if (completionState != CompletionState.ProgressComplete)
return null;