Elight.Utility/Files/DataMatrix/DmtxCommon.cs
(开头部分) 10KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
namespace DataMatrix.net
{
// Token: 0x02000024 RID: 36
internal static class DmtxCommon
{
// Token: 0x060001CC RID: 460 RVA: 0x0000EE74 File Offset: 0x0000D074
internal static void GenReedSolEcc(DmtxMessage message, DmtxSymbolSize sizeIdx)
{
byte[] array = new byte[69];
byte[] array2 = new byte[68];
int symbolAttribute = DmtxCommon.GetSymbolAttribute(DmtxSymAttribute.DmtxSymAttribSymbolDataWords, sizeIdx);
int symbolAttribute2 = DmtxCommon.GetSymbolAttribute(DmtxSymAttribute.DmtxSymAttribSymbolErrorWords, sizeIdx);
int num = symbolAttribute + symbolAttribute2;
int symbolAttribute3 = DmtxCommon.GetSymbolAttribute(DmtxSymAttribute.DmtxSymAttribBlockErrorWords, sizeIdx);
int symbolAttribute4 = DmtxCommon.GetSymbolAttribute(DmtxSymAttribute.DmtxSymAttribInterleavedBlocks, sizeIdx);
if (symbolAttribute3 != symbolAttribute2 / symbolAttribute4)
{
throw new Exception("Error generation reed solomon error correction");
}
for (int i = 0; i < array.Length; i++)
{
array[i] = 1;
}
for (int j = 1; j <= symbolAttribute3; j++)
{
for (int k = j - 1; k >= 0; k--)
{
array[k] = DmtxCommon.GfDoublify(array[k], j);
if (k > 0)
{
array[k] = DmtxCommon.GfSum(array[k], array[k - 1]);
}
}
}
for (int l = 0; l < symbolAttribute4; l++)
{
for (int m = 0; m < array2.Length; m++)
{
array2[m] = 0;
}
for (int j = l; j < symbolAttribute; j += symbolAttribute4)
{
int b = (int)DmtxCommon.GfSum(array2[symbolAttribute3 - 1], message.Code[j]);
for (int k = symbolAttribute3 - 1; k > 0; k--)
{
array2[k] = DmtxCommon.GfSum(array2[k - 1], DmtxCommon.GfProduct(array[k], b));
}
array2[0] = DmtxCommon.GfProduct(array[0], b);
}
int blockDataSize = DmtxCommon.GetBlockDataSize(sizeIdx, l);
int num2 = symbolAttribute3;
for (int j = l + symbolAttribute4 * blockDataSize; j < num; j += symbolAttribute4)
{
message.Code[j] = array2[--num2];
}
if (num2 != 0)
{
throw new Exception("Error generation error correction code!");
后面还有 276 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。