Lines Matching refs:degree
61 testable void reedSolomonComputeDivisor(int degree, uint8_t result[]);
63 const uint8_t generator[], int degree, uint8_t result[]);
356 // Computes a Reed-Solomon ECC generator polynomial for the given degree, storing in result[0 : degree].
358 testable void reedSolomonComputeDivisor(int degree, uint8_t result[]) {
359 assert(1 <= degree && degree <= qrcodegen_REED_SOLOMON_DEGREE_MAX);
362 memset(result, 0, (size_t)degree * sizeof(result[0]));
363 result[degree - 1] = 1; // Start off with the monomial x^0
365 // Compute the product polynomial (x - r^0) * (x - r^1) * (x - r^2) * ... * (x - r^{degree-1}),
366 // drop the highest monomial term which is always 1x^degree.
369 for (int i = 0; i < degree; i++) {
371 for (int j = 0; j < degree; j++) {
373 if (j + 1 < degree)
382 // The remainder when data[0 : dataLen] is divided by divisor[0 : degree] is stored in result[0 : degree].
385 const uint8_t generator[], int degree, uint8_t result[]) {
386 assert(1 <= degree && degree <= qrcodegen_REED_SOLOMON_DEGREE_MAX);
387 memset(result, 0, (size_t)degree * sizeof(result[0]));
390 memmove(&result[0], &result[1], (size_t)(degree - 1) * sizeof(result[0]));
391 result[degree - 1] = 0;
392 for (int j = 0; j < degree; j++)