Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,85 +1,87 @@
namespace RoundDownToNearestInteger
using System.Globalization;

namespace RoundDownToNearestInteger;

internal static class OutputRoundingResults
{
internal static class OutputRoundingResults
private static void WriteResultsToConsole(double[] testCases, int[] results, int[] desiredResults)
{
private static void WriteResultsToConsole(double[] testCases, int[] results, int[] desiredResults)
for (var cnt = 0; cnt < testCases.Length; cnt++)
{
for (var cnt = 0; cnt < testCases.Length; cnt++)
{
Console.WriteLine($"Rounding {testCases[cnt]} results in {results[cnt]} (desired result: {desiredResults[cnt]})");
}

Console.WriteLine();
Console.WriteLine(string.Create(CultureInfo.InvariantCulture,
$"Rounding {testCases[cnt]} results in {results[cnt]} (desired result: {desiredResults[cnt]})"));
}

public static void RoundDownUsingMathFloor(double[] testCases, int[] desiredResults)
{
Console.WriteLine($"Round down using Math.Floor():");
var results = RoundingMethods.RoundDownUsingMathFloor(testCases);
WriteResultsToConsole(testCases, results, desiredResults);
}
Console.WriteLine();
}

public static void RoundDownUsingMathTruncate(double[] testCases, int[] desiredResults)
{
Console.WriteLine($"Round down using Math.Truncate():");
var results = RoundingMethods.RoundDownUsingMathTruncate(testCases);
WriteResultsToConsole(testCases, results, desiredResults);
}
public static void RoundDownUsingMathFloor(double[] testCases, int[] desiredResults)
{
Console.WriteLine($"Round down using Math.Floor():");
var results = RoundingMethods.RoundDownUsingMathFloor(testCases);
WriteResultsToConsole(testCases, results, desiredResults);
}

public static void RoundDownUsingMathRoundWithToEvenMode(double[] testCases, int[] desiredResults)
{
Console.WriteLine($"Round down using Math.Round() with ToEven mode:");
var results = RoundingMethods.RoundDownUsingMathRoundWithToEvenMode(testCases);
WriteResultsToConsole(testCases, results, desiredResults);
}
public static void RoundDownUsingMathTruncate(double[] testCases, int[] desiredResults)
{
Console.WriteLine($"Round down using Math.Truncate():");
var results = RoundingMethods.RoundDownUsingMathTruncate(testCases);
WriteResultsToConsole(testCases, results, desiredResults);
}

public static void RoundDownUsingMathRoundWithAwayFromZeroMode(double[] testCases, int[] desiredResults)
{
Console.WriteLine($"Round down using Math.Round() with AwayFromZero mode:");
var results = RoundingMethods.RoundDownUsingMathRoundWithAwayFromZeroMode(testCases);
WriteResultsToConsole(testCases, results, desiredResults);
}
public static void RoundDownUsingMathRoundWithToEvenMode(double[] testCases, int[] desiredResults)
{
Console.WriteLine($"Round down using Math.Round() with ToEven mode:");
var results = RoundingMethods.RoundDownUsingMathRoundWithToEvenMode(testCases);
WriteResultsToConsole(testCases, results, desiredResults);
}

public static void RoundDownUsingMathRoundWithToZeroMode(double[] testCases, int[] desiredResults)
{
Console.WriteLine($"Round down using Math.Round() with ToZero mode:");
var results = RoundingMethods.RoundDownUsingMathRoundWithToZeroMode(testCases);
WriteResultsToConsole(testCases, results, desiredResults);
}
public static void RoundDownUsingMathRoundWithAwayFromZeroMode(double[] testCases, int[] desiredResults)
{
Console.WriteLine($"Round down using Math.Round() with AwayFromZero mode:");
var results = RoundingMethods.RoundDownUsingMathRoundWithAwayFromZeroMode(testCases);
WriteResultsToConsole(testCases, results, desiredResults);
}

public static void RoundDownUsingMathRoundWithToNegativeInfinityMode(double[] testCases, int[] desiredResults)
{
Console.WriteLine($"Round down using Math.Round() with ToNegativeInfinity mode:");
var results = RoundingMethods.RoundDownUsingMathRoundWithToNegativeInfinityMode(testCases);
WriteResultsToConsole(testCases, results, desiredResults);
}
public static void RoundDownUsingMathRoundWithToZeroMode(double[] testCases, int[] desiredResults)
{
Console.WriteLine($"Round down using Math.Round() with ToZero mode:");
var results = RoundingMethods.RoundDownUsingMathRoundWithToZeroMode(testCases);
WriteResultsToConsole(testCases, results, desiredResults);
}

public static void RoundDownUsingMathRoundWithToPositiveInfinityMode(double[] testCases, int[] desiredResults)
{
Console.WriteLine($"Round down using Math.Round() with ToPositiveInfinity mode:");
var results = RoundingMethods.RoundDownUsingMathRoundWithToPositiveInfinityMode(testCases);
WriteResultsToConsole(testCases, results, desiredResults);
}
public static void RoundDownUsingMathRoundWithToNegativeInfinityMode(double[] testCases, int[] desiredResults)
{
Console.WriteLine($"Round down using Math.Round() with ToNegativeInfinity mode:");
var results = RoundingMethods.RoundDownUsingMathRoundWithToNegativeInfinityMode(testCases);
WriteResultsToConsole(testCases, results, desiredResults);
}

public static void RoundDownUsingConvertToInt32(double[] testCases, int[] desiredResults)
{
Console.WriteLine($"Round down using Convert.ToInt32():");
var results = RoundingMethods.RoundDownUsingConvertToInt32(testCases);
WriteResultsToConsole(testCases, results, desiredResults);
}
public static void RoundDownUsingMathRoundWithToPositiveInfinityMode(double[] testCases, int[] desiredResults)
{
Console.WriteLine($"Round down using Math.Round() with ToPositiveInfinity mode:");
var results = RoundingMethods.RoundDownUsingMathRoundWithToPositiveInfinityMode(testCases);
WriteResultsToConsole(testCases, results, desiredResults);
}

public static void RoundDownUsingCasting(double[] testCases, int[] desiredResults)
{
Console.WriteLine($"Round down using casting:");
var results = RoundingMethods.RoundDownUsingCasting(testCases);
WriteResultsToConsole(testCases, results, desiredResults);
}
public static void RoundDownUsingConvertToInt32(double[] testCases, int[] desiredResults)
{
Console.WriteLine($"Round down using Convert.ToInt32():");
var results = RoundingMethods.RoundDownUsingConvertToInt32(testCases);
WriteResultsToConsole(testCases, results, desiredResults);
}

public static void RoundDownUsingSubtractionWithModulo(double[] testCases, int[] desiredResults)
{
Console.WriteLine($"Round down using subtraction with modulo:");
var results = RoundingMethods.RoundDownUsingSubtractionWithModulo(testCases);
WriteResultsToConsole(testCases, results, desiredResults);
}
public static void RoundDownUsingCasting(double[] testCases, int[] desiredResults)
{
Console.WriteLine($"Round down using casting:");
var results = RoundingMethods.RoundDownUsingCasting(testCases);
WriteResultsToConsole(testCases, results, desiredResults);
}

public static void RoundDownUsingSubtractionWithModulo(double[] testCases, int[] desiredResults)
{
Console.WriteLine($"Round down using subtraction with modulo:");
var results = RoundingMethods.RoundDownUsingSubtractionWithModulo(testCases);
WriteResultsToConsole(testCases, results, desiredResults);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,31 +1,30 @@
namespace RoundDownToNearestInteger
namespace RoundDownToNearestInteger;

internal class Program
{
internal class Program
public static void Main(string[] args)
{
public static void Main(string[] args)
{
var testCases = new double[] { 2.5, 1.75, 1.5, 1.25, -1.25, -1.5, -1.75, -2.5 };
var desiredResults = new int[] { 2, 1, 1, 1, -2, -2, -2, -3 };
double[] testCases = [2.5, 1.75, 1.5, 1.25, -1.25, -1.5, -1.75, -2.5];
int[] desiredResults = [2, 1, 1, 1, -2, -2, -2, -3];

OutputRoundingResults.RoundDownUsingMathFloor(testCases, desiredResults);
OutputRoundingResults.RoundDownUsingMathFloor(testCases, desiredResults);

OutputRoundingResults.RoundDownUsingMathTruncate(testCases, desiredResults);
OutputRoundingResults.RoundDownUsingMathTruncate(testCases, desiredResults);

OutputRoundingResults.RoundDownUsingMathRoundWithToEvenMode(testCases, desiredResults);
OutputRoundingResults.RoundDownUsingMathRoundWithToEvenMode(testCases, desiredResults);

OutputRoundingResults.RoundDownUsingMathRoundWithAwayFromZeroMode(testCases, desiredResults);
OutputRoundingResults.RoundDownUsingMathRoundWithAwayFromZeroMode(testCases, desiredResults);

OutputRoundingResults.RoundDownUsingMathRoundWithToZeroMode(testCases, desiredResults);
OutputRoundingResults.RoundDownUsingMathRoundWithToZeroMode(testCases, desiredResults);

OutputRoundingResults.RoundDownUsingMathRoundWithToNegativeInfinityMode(testCases, desiredResults);
OutputRoundingResults.RoundDownUsingMathRoundWithToNegativeInfinityMode(testCases, desiredResults);

OutputRoundingResults.RoundDownUsingMathRoundWithToPositiveInfinityMode(testCases, desiredResults);
OutputRoundingResults.RoundDownUsingMathRoundWithToPositiveInfinityMode(testCases, desiredResults);

OutputRoundingResults.RoundDownUsingConvertToInt32(testCases, desiredResults);
OutputRoundingResults.RoundDownUsingConvertToInt32(testCases, desiredResults);

OutputRoundingResults.RoundDownUsingCasting(testCases, desiredResults);
OutputRoundingResults.RoundDownUsingCasting(testCases, desiredResults);

OutputRoundingResults.RoundDownUsingSubtractionWithModulo(testCases, desiredResults);
}
OutputRoundingResults.RoundDownUsingSubtractionWithModulo(testCases, desiredResults);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
Expand Down
Loading
Loading