From e6081f5e606a8fb6bb0b4f0390ffc7e89071aa69 Mon Sep 17 00:00:00 2001 From: Asriel Camora Date: Mon, 2 Oct 2023 12:16:43 -0700 Subject: [PATCH] Remove crafty namespace from solver --- Benchmark/Program.cs | 6 +++--- Craftimizer/Configuration.cs | 4 ++-- Craftimizer/Windows/Settings.cs | 2 +- Solver/{Crafty => }/ActionSet.cs | 2 +- Solver/{Crafty => }/ArenaBuffer.cs | 2 +- Solver/{Crafty => }/ArenaNode.cs | 2 +- Solver/{Crafty => }/CompletionState.cs | 2 +- Solver/{Crafty => }/Intrinsics.cs | 4 ++-- Solver/{Crafty => }/NodeScoresBuffer.cs | 2 +- Solver/{Crafty => }/RootScores.cs | 2 +- Solver/{Crafty => }/SimulationNode.cs | 4 ++-- Solver/{Crafty => }/Simulator.cs | 6 +++--- Solver/{Crafty => }/Solver.cs | 6 +++--- Solver/{Crafty => }/SolverConfig.cs | 2 +- Solver/{Crafty => }/SolverSolution.cs | 2 +- 15 files changed, 24 insertions(+), 24 deletions(-) rename Solver/{Crafty => }/ActionSet.cs (98%) rename Solver/{Crafty => }/ArenaBuffer.cs (97%) rename Solver/{Crafty => }/ArenaNode.cs (95%) rename Solver/{Crafty => }/CompletionState.cs (91%) rename Solver/{Crafty => }/Intrinsics.cs (98%) rename Solver/{Crafty => }/NodeScoresBuffer.cs (98%) rename Solver/{Crafty => }/RootScores.cs (89%) rename Solver/{Crafty => }/SimulationNode.cs (94%) rename Solver/{Crafty => }/Simulator.cs (97%) rename Solver/{Crafty => }/Solver.cs (99%) rename Solver/{Crafty => }/SolverConfig.cs (98%) rename Solver/{Crafty => }/SolverSolution.cs (81%) diff --git a/Benchmark/Program.cs b/Benchmark/Program.cs index 377620b..8b4b06f 100644 --- a/Benchmark/Program.cs +++ b/Benchmark/Program.cs @@ -1,6 +1,6 @@ using Craftimizer.Simulator; using Craftimizer.Simulator.Actions; -using Craftimizer.Solver.Crafty; +using Craftimizer.Solver; using System.Diagnostics; namespace Craftimizer.Benchmark; @@ -77,11 +77,11 @@ internal static class Program Console.WriteLine($"{state.Quality} {state.CP} {state.Progress} {state.Durability}"); //return; - var (_, s) = Solver.Crafty.Solver.SearchStepwiseFurcated(config, state, a => Console.WriteLine(a), default); + var (_, s) = Solver.Solver.SearchStepwiseFurcated(config, state, a => Console.WriteLine(a), default); Console.WriteLine($"Qual: {s.Quality}/{s.Input.Recipe.MaxQuality}"); return; - Solver.Crafty.Solver.SearchStepwiseFurcated(config, new(input), null, default); + Solver.Solver.SearchStepwiseFurcated(config, new(input), null, default); //Benchmark(() => ); } diff --git a/Craftimizer/Configuration.cs b/Craftimizer/Configuration.cs index 1b895e2..f90d4f4 100644 --- a/Craftimizer/Configuration.cs +++ b/Craftimizer/Configuration.cs @@ -1,6 +1,6 @@ using Craftimizer.Simulator; using Craftimizer.Simulator.Actions; -using Craftimizer.Solver.Crafty; +using Craftimizer.Solver; using Dalamud.Configuration; using System; using System.Collections.Generic; @@ -21,7 +21,7 @@ public static class AlgorithmUtils { try { - Solver.Crafty.Solver.Search(me, state, actionCallback, token); + Solver.Solver.Search(me, state, actionCallback, token); } catch (AggregateException e) { diff --git a/Craftimizer/Windows/Settings.cs b/Craftimizer/Windows/Settings.cs index 1088b3a..5fa226e 100644 --- a/Craftimizer/Windows/Settings.cs +++ b/Craftimizer/Windows/Settings.cs @@ -1,4 +1,4 @@ -using Craftimizer.Solver.Crafty; +using Craftimizer.Solver; using Dalamud.Interface; using Dalamud.Interface.Windowing; using ImGuiNET; diff --git a/Solver/Crafty/ActionSet.cs b/Solver/ActionSet.cs similarity index 98% rename from Solver/Crafty/ActionSet.cs rename to Solver/ActionSet.cs index 8ff3344..81de8c4 100644 --- a/Solver/Crafty/ActionSet.cs +++ b/Solver/ActionSet.cs @@ -3,7 +3,7 @@ using System.Diagnostics.Contracts; using System.Numerics; using System.Runtime.CompilerServices; -namespace Craftimizer.Solver.Crafty; +namespace Craftimizer.Solver; public struct ActionSet { diff --git a/Solver/Crafty/ArenaBuffer.cs b/Solver/ArenaBuffer.cs similarity index 97% rename from Solver/Crafty/ArenaBuffer.cs rename to Solver/ArenaBuffer.cs index c3775c2..6405a85 100644 --- a/Solver/Crafty/ArenaBuffer.cs +++ b/Solver/ArenaBuffer.cs @@ -2,7 +2,7 @@ using System.Diagnostics.Contracts; using System.Numerics; using System.Runtime.CompilerServices; -namespace Craftimizer.Solver.Crafty; +namespace Craftimizer.Solver; // Adapted from https://github.com/dtao/ConcurrentList/blob/4fcf1c76e93021a41af5abb2d61a63caeba2adad/ConcurrentList/ConcurrentList.cs public struct ArenaBuffer where T : struct diff --git a/Solver/Crafty/ArenaNode.cs b/Solver/ArenaNode.cs similarity index 95% rename from Solver/Crafty/ArenaNode.cs rename to Solver/ArenaNode.cs index 5ac88ea..5d65e9f 100644 --- a/Solver/Crafty/ArenaNode.cs +++ b/Solver/ArenaNode.cs @@ -1,6 +1,6 @@ using System.Runtime.CompilerServices; -namespace Craftimizer.Solver.Crafty; +namespace Craftimizer.Solver; public sealed class ArenaNode where T : struct { diff --git a/Solver/Crafty/CompletionState.cs b/Solver/CompletionState.cs similarity index 91% rename from Solver/Crafty/CompletionState.cs rename to Solver/CompletionState.cs index b7aabab..47d3297 100644 --- a/Solver/Crafty/CompletionState.cs +++ b/Solver/CompletionState.cs @@ -1,6 +1,6 @@ using CompState = Craftimizer.Simulator.CompletionState; -namespace Craftimizer.Solver.Crafty; +namespace Craftimizer.Solver; public enum CompletionState : byte { diff --git a/Solver/Crafty/Intrinsics.cs b/Solver/Intrinsics.cs similarity index 98% rename from Solver/Crafty/Intrinsics.cs rename to Solver/Intrinsics.cs index 1380ae9..df946a7 100644 --- a/Solver/Crafty/Intrinsics.cs +++ b/Solver/Intrinsics.cs @@ -4,7 +4,7 @@ using System.Runtime.CompilerServices; using System.Runtime.Intrinsics; using System.Runtime.Intrinsics.X86; -namespace Craftimizer.Solver.Crafty; +namespace Craftimizer.Solver; internal static class Intrinsics { [Pure] @@ -50,7 +50,7 @@ internal static class Intrinsics var vcmp = Avx.CompareEqual(vfilt, vmax); var mask = unchecked((uint)Avx2.MoveMask(vcmp.AsByte())); - var inverseIdx = BitOperations.LeadingZeroCount(mask << ((8 - len) << 2)) >> 2; + var inverseIdx = BitOperations.LeadingZeroCount(mask << (8 - len << 2)) >> 2; return len - 1 - inverseIdx; } diff --git a/Solver/Crafty/NodeScoresBuffer.cs b/Solver/NodeScoresBuffer.cs similarity index 98% rename from Solver/Crafty/NodeScoresBuffer.cs rename to Solver/NodeScoresBuffer.cs index fa394bb..fecfb40 100644 --- a/Solver/Crafty/NodeScoresBuffer.cs +++ b/Solver/NodeScoresBuffer.cs @@ -2,7 +2,7 @@ using System.Diagnostics.Contracts; using System.Numerics; using System.Runtime.CompilerServices; -namespace Craftimizer.Solver.Crafty; +namespace Craftimizer.Solver; // Adapted from https://github.com/dtao/ConcurrentList/blob/4fcf1c76e93021a41af5abb2d61a63caeba2adad/ConcurrentList/ConcurrentList.cs public struct NodeScoresBuffer diff --git a/Solver/Crafty/RootScores.cs b/Solver/RootScores.cs similarity index 89% rename from Solver/Crafty/RootScores.cs rename to Solver/RootScores.cs index 2ac7c2f..43b8420 100644 --- a/Solver/Crafty/RootScores.cs +++ b/Solver/RootScores.cs @@ -1,6 +1,6 @@ using System.Runtime.InteropServices; -namespace Craftimizer.Solver.Crafty; +namespace Craftimizer.Solver; [StructLayout(LayoutKind.Auto)] public sealed class RootScores diff --git a/Solver/Crafty/SimulationNode.cs b/Solver/SimulationNode.cs similarity index 94% rename from Solver/Crafty/SimulationNode.cs rename to Solver/SimulationNode.cs index 672ce13..af37ac5 100644 --- a/Solver/Crafty/SimulationNode.cs +++ b/Solver/SimulationNode.cs @@ -2,7 +2,7 @@ using Craftimizer.Simulator; using Craftimizer.Simulator.Actions; using System.Runtime.InteropServices; -namespace Craftimizer.Solver.Crafty; +namespace Craftimizer.Solver; [StructLayout(LayoutKind.Auto)] public struct SimulationNode @@ -75,7 +75,7 @@ public struct SimulationNode ); var fewerStepsScore = - config.ScoreFewerStepsBonus * (1f - ((float)(state.ActionCount + 1) / config.MaxStepCount)); + config.ScoreFewerStepsBonus * (1f - (float)(state.ActionCount + 1) / config.MaxStepCount); return progressScore + qualityScore + durabilityScore + cpScore + fewerStepsScore; } diff --git a/Solver/Crafty/Simulator.cs b/Solver/Simulator.cs similarity index 97% rename from Solver/Crafty/Simulator.cs rename to Solver/Simulator.cs index 1b532e5..9b610e5 100644 --- a/Solver/Crafty/Simulator.cs +++ b/Solver/Simulator.cs @@ -3,7 +3,7 @@ using Craftimizer.Simulator.Actions; using System.Diagnostics.Contracts; using System.Runtime.CompilerServices; -namespace Craftimizer.Solver.Crafty; +namespace Craftimizer.Solver; public sealed class Simulator : SimulatorNoRandom { @@ -129,7 +129,7 @@ public sealed class Simulator : SimulatorNoRandom if (wouldFinish) { // don't allow finishing the craft if there is significant quality remaining - if (Quality < (Input.Recipe.MaxQuality / 5)) + if (Quality < Input.Recipe.MaxQuality / 5) return false; } else @@ -188,7 +188,7 @@ public sealed class Simulator : SimulatorNoRandom } public static CompletionState CalculateCompletionState(SimulationState state, int maxStepCount) => - (state.ActionCount + 1) >= maxStepCount ? + state.ActionCount + 1 >= maxStepCount ? CompletionState.MaxActionCountReached : (CompletionState)CalculateCompletionState(state); } diff --git a/Solver/Crafty/Solver.cs b/Solver/Solver.cs similarity index 99% rename from Solver/Crafty/Solver.cs rename to Solver/Solver.cs index 0ed5d35..9f19d67 100644 --- a/Solver/Crafty/Solver.cs +++ b/Solver/Solver.cs @@ -5,9 +5,9 @@ using System.Diagnostics.Contracts; using System.Numerics; using System.Runtime.CompilerServices; using System.Text; -using Node = Craftimizer.Solver.Crafty.ArenaNode; +using Node = Craftimizer.Solver.ArenaNode; -namespace Craftimizer.Solver.Crafty; +namespace Craftimizer.Solver; // https://github.com/alostsock/crafty/blob/cffbd0cad8bab3cef9f52a3e3d5da4f5e3781842/crafty/src/simulator.rs public sealed class Solver @@ -155,7 +155,7 @@ public sealed class Solver vInt = Vector.Max(vInt, Vector.One); var v = Vector.ConvertToSingle(vInt); - var exploitation = (W * (s / v)) + (w * m); + var exploitation = W * (s / v) + w * m; var exploration = CVector * Intrinsics.ReciprocalSqrt(v); var evalScores = exploitation + exploration; diff --git a/Solver/Crafty/SolverConfig.cs b/Solver/SolverConfig.cs similarity index 98% rename from Solver/Crafty/SolverConfig.cs rename to Solver/SolverConfig.cs index 259946b..15be1db 100644 --- a/Solver/Crafty/SolverConfig.cs +++ b/Solver/SolverConfig.cs @@ -1,6 +1,6 @@ using System.Runtime.InteropServices; -namespace Craftimizer.Solver.Crafty; +namespace Craftimizer.Solver; public enum SolverAlgorithm { diff --git a/Solver/Crafty/SolverSolution.cs b/Solver/SolverSolution.cs similarity index 81% rename from Solver/Crafty/SolverSolution.cs rename to Solver/SolverSolution.cs index 3fa7898..8a5ac54 100644 --- a/Solver/Crafty/SolverSolution.cs +++ b/Solver/SolverSolution.cs @@ -1,6 +1,6 @@ using Craftimizer.Simulator; using Craftimizer.Simulator.Actions; -namespace Craftimizer.Solver.Crafty; +namespace Craftimizer.Solver; public readonly record struct SolverSolution(List Actions, SimulationState State);