Mat mul mat is now on full function
This commit is contained in:
+19
-46
@@ -1,4 +1,4 @@
|
||||
//-----------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------
|
||||
// -----------------------------------------------------------------------
|
||||
// file="Program"
|
||||
// Project: StgSharp
|
||||
@@ -53,71 +53,44 @@ namespace StgSharp
|
||||
|
||||
|
||||
// HlsfStressTest.Run();
|
||||
/*
|
||||
/**/
|
||||
HybridLayerSegregatedFitAllocator hlsf;
|
||||
unchecked {
|
||||
hlsf = new((nuint)(64 * (ulong)10000 * 10000));
|
||||
}
|
||||
Matrix<float> m = Matrix.FromHlsf<float>(1000, 1000, hlsf);
|
||||
Matrix<float> m = Matrix.FromHlsf<float>(400, 400, hlsf);
|
||||
MatrixCompute.Fill(m, 1.0f);
|
||||
Matrix<float> n = Matrix.FromHlsf<float>(400, 400, hlsf);
|
||||
MatrixCompute.Fill(n, 1.0f);
|
||||
Matrix<float> p = Matrix.FromHlsf<float>(400, 400, hlsf);
|
||||
|
||||
Console.WriteLine();
|
||||
Console.WriteLine();
|
||||
Console.WriteLine();
|
||||
Matrix<float> n = Matrix.FromHlsf<float>(1000, 1000, hlsf);
|
||||
MatrixCompute.Fill(n, 0.0f);
|
||||
for (int i = 0; i < 5; i++)
|
||||
// MatrixCompute.Fill(p, 0.0f);
|
||||
/*
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
for (int j = 0; j < 2; j++)
|
||||
MatrixCompute.Add(n, m, n);
|
||||
for (int j = 0; j < 5; j++)
|
||||
{
|
||||
MatrixCompute.Add(n, m, n);
|
||||
|
||||
// Console.WriteLine($"{i} {j}");
|
||||
for (int k = 0; k < 5; k++) {
|
||||
Console.Write($"{n[j, k]:0.0E+00} \t");
|
||||
}
|
||||
Console.WriteLine();
|
||||
}
|
||||
Console.WriteLine($"{i}");
|
||||
GC.Collect();
|
||||
}
|
||||
|
||||
MatrixCompute.Mul(n, 12, n);
|
||||
/**/
|
||||
MatrixCompute.Mul(n, m, p);
|
||||
for (int i = 0; i < 20; i++)
|
||||
{
|
||||
for (int j = 0; j < 20; j++) {
|
||||
Console.Write($"{n[i, j]:0.0E+00} \t");
|
||||
Console.Write($"{p[i, j]:0.0E+00} \t");
|
||||
}
|
||||
Console.WriteLine();
|
||||
}
|
||||
/**/
|
||||
|
||||
// --- Logarithmic time sequence test: print seconds at each emitted span ---
|
||||
|
||||
// Configure a simple sequence:
|
||||
// initial slice = 0.5s, total = 5s, growth multiplier = 2, min slice = 0.75s
|
||||
TimeSequence seq =
|
||||
/**/
|
||||
TimeSequence.CreateLogarithmic(initialSliceSeconds:0.5, totalSeconds:5.0,
|
||||
growthMultiplier:2.0, minSliceSeconds:0.75);
|
||||
/*
|
||||
TimeSequence.CreateLinear(5, 1);
|
||||
/**/
|
||||
|
||||
// Bind to default time source provider.
|
||||
TimeSpanProvider provider = new TimeSpanProvider(seq, TimeSpanProvider.DefaultProvider);
|
||||
|
||||
// Print the second mark when a span is emitted.
|
||||
provider.TimeSpanRefreshed += (s, e) => {
|
||||
// CurrentSecond is PreviousFrameTick / Frequency
|
||||
Console.WriteLine($"span @ {provider.CurrentSecond:0.000}s");
|
||||
};
|
||||
|
||||
// Start the time source and wait until sequence ends.
|
||||
TimeSpanProvider.DefaultProvider.StartProvidingTime();
|
||||
|
||||
while (!provider.IsEnded) {
|
||||
provider.WaitNextSpan();
|
||||
}
|
||||
|
||||
TimeSpanProvider.DefaultProvider.StopProvidingTime();
|
||||
|
||||
// end of log-time sequence test
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user