mirror of
https://github.com/DarthAffe/HPPH.git
synced 2026-11-09 18:36:34 +00:00
Improved performance of Sum on Images
This commit is contained in:
1 parent
723649053c
commit
f4c1eaddd6
15 files changed
+103
-71
No files matched your search
@@ -106,6 +106,7 @@ internal class Sum : IGeneratorFeature
|
||||
return $$"""
|
||||
#nullable enable
|
||||
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace HPPH;
|
||||
@@ -114,7 +115,8 @@ internal class Sum : IGeneratorFeature
|
||||
{
|
||||
#region Methods
|
||||
|
||||
unsafe ISum IColorFormat.Sum(ReadOnlySpan<byte> data) => PixelHelper.Sum<Color{{colorFormat.Format}}, Sum{{colorFormat.Format}}>(MemoryMarshal.Cast<byte, Color{{colorFormat.Format}}>(data));
|
||||
unsafe Generic4LongData IColorFormat.Sum(ReadOnlySpan<byte> data) => PixelHelper.Sum(MemoryMarshal.Cast<byte, Generic{{colorFormat.Bpp}}ByteData>(data));
|
||||
unsafe ISum IColorFormat.ToSum(Generic4LongData data) => Unsafe.BitCast<Generic4LongData, Sum{{colorFormat.Format}}>(data);
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -130,7 +132,8 @@ internal class Sum : IGeneratorFeature
|
||||
|
||||
public partial interface IColorFormat
|
||||
{
|
||||
internal ISum Sum(ReadOnlySpan<byte> data);
|
||||
internal Generic4LongData Sum(ReadOnlySpan<byte> data);
|
||||
internal ISum ToSum(Generic4LongData data);
|
||||
}
|
||||
""";
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user