/linux/include/linux/ |
H A D | crc8.h | 40 * crc8_populate_lsb - fill crc table for given polynomial in regular bit order. 43 * @polynomial: polynomial for which table is to be filled. 45 * This function fills the provided table according the polynomial provided for 51 * For lsb first direction x^7 maps to the lsb. So the polynomial is as below. 55 void crc8_populate_lsb(u8 table[CRC8_TABLE_SIZE], u8 polynomial); 58 * crc8_populate_msb - fill crc table for given polynomial in reverse bit order. 61 * @polynomial: polynomial for which table is to be filled. 63 * This function fills the provided table according the polynomial provided for 69 * For msb first direction x^7 maps to the msb. So the polynomial is as below. 73 void crc8_populate_msb(u8 table[CRC8_TABLE_SIZE], u8 polynomial); [all …]
|
H A D | polynomial.h | 10 * struct polynomial_term - one term descriptor of a polynomial 24 * struct polynomial - a polynomial descriptor 26 * @terms: polynomial terms, last term must have degree of 0 28 struct polynomial { struct 33 long polynomial_calc(const struct polynomial *poly, long data); argument
|
H A D | bch.h | 24 * @ecc_bits: ecc exact size in bits, i.e. generator polynomial degree (<=m*t) 28 * @mod8_tab: remainder generator polynomial lookup tables 31 * @xi_tab: GF(2^m) base for solving degree 2 polynomial roots 33 * @cache: log-based polynomial representation buffer 34 * @elp: error locator polynomial
|
H A D | rslib.h | 23 * @genpoly: Generator polynomial 87 * @gfpoly: the extended Galois field generator polynomial coefficients, 88 * with the 0th coefficient in the low order bit. The polynomial 90 * @fcr: the first consecutive root of the rs code generator polynomial 92 * @prim: primitive element to generate polynomial roots 93 * @nroots: RS code generator polynomial degree (number of roots)
|
H A D | crc32poly.h | 7 * *the* standard CRC-32 polynomial, first popularized by Ethernet. 14 * This is the CRC32c polynomial, as outlined by Castagnoli.
|
/linux/lib/ |
H A D | crc8.c | 24 * crc8_populate_msb - fill crc table for given polynomial in reverse bit order. 27 * @polynomial: polynomial for which table is to be filled. 29 void crc8_populate_msb(u8 table[CRC8_TABLE_SIZE], u8 polynomial) in crc8_populate_msb() argument 38 t = (t << 1) ^ (t & msbit ? polynomial : 0); in crc8_populate_msb() 46 * crc8_populate_lsb - fill crc table for given polynomial in regular bit order. 49 * @polynomial: polynomial for which table is to be filled. 51 void crc8_populate_lsb(u8 table[CRC8_TABLE_SIZE], u8 polynomial) in crc8_populate_lsb() argument 59 t = (t >> 1) ^ (t & 1 ? polynomial : 0); in crc8_populate_lsb()
|
H A D | polynomial.c | 3 * Generic polynomial calculation using integer coefficients. 15 #include <linux/polynomial.h> 44 * static const struct polynomial poly_temp_to_N = { 55 * static const struct polynomial poly_N_to_temp = { 68 * polynomial_calc - calculate a polynomial using integer arithmetic 70 * @poly: pointer to the descriptor of the polynomial 73 * Calculate the result of a polynomial using only integer arithmetic. For 77 * Returns the result of the polynomial calculation. 79 long polynomial_calc(const struct polynomial *poly, long data) in polynomial_calc() 87 * Here is the polynomial calculation function, which performs the in polynomial_calc() [all …]
|
H A D | crc32.c | 144 * @polynomial: CRC32/CRC32c LE polynomial 148 u32 polynomial) argument 155 crc = (crc >> 1) ^ ((crc & 1) ? polynomial : 0); 234 * @polynomial: The modulus used to reduce the result to 32 bits. 243 u32 polynomial) argument 245 u32 power = polynomial; /* CRC of x^32 */ 250 crc = (crc >> 1) ^ (crc & 1 ? polynomial : 0); 257 /* "power" is x^(2^i), modulo the polynomial */ 259 crc = gf2_multiply(crc, power, polynomial); 266 power = gf2_multiply(power, power, polynomial); [all …]
|
H A D | bch.c | 28 * (optional) primitive polynomial parameters. 50 * b. Error locator polynomial computation using Berlekamp-Massey algorithm 55 * factoring the error locator polynomial using the Berlekamp Trace algorithm 56 * (BTA) down to a certain degree (4), after which ad hoc low-degree polynomial 102 * represent a polynomial over GF(2^m) 105 unsigned int deg; /* polynomial degree */ 106 unsigned int c[]; /* polynomial terms */ 109 /* given its degree, compute a polynomial size in bytes */ 112 /* polynomial of degree 1 */ 310 /* polynomial degree is the most-significant bit index */ in deg() [all …]
|
H A D | crc64.c | 17 * time. The polynomial of crc64 arithmetic is from ECMA-182 specification 25 * crc64rocksoft[256] table is from the Rocksoft specification polynomial
|
/linux/lib/reed_solomon/ |
H A D | reed_solomon.c | 18 * If a codec is newly allocated then the polynomial arrays for fast 60 * @gfpoly: Field generator polynomial coefficients 62 * @fcr: first root of RS code generator polynomial, index form 63 * @prim: primitive element to generate polynomial roots 64 * @nroots: RS code generator polynomial degree (number of roots) 133 /* Form RS code generator polynomial from its roots */ in codec_init() 201 * @gfpoly: the extended Galois field generator polynomial coefficients, 202 * with the 0th coefficient in the low order bit. The polynomial 207 * @fcr: the first consecutive root of the rs code generator polynomial 209 * @prim: primitive element to generate polynomial roots [all …]
|
/linux/arch/riscv/lib/ |
H A D | crc32.c | 22 * let "+" denotes polynomial add (XOR) 23 * let "-" denotes polynomial sub (XOR) 24 * let "*" denotes polynomial multiplication 25 * let "/" denotes polynomial floor division 27 * let "P" denotes CRC32 polynomial 48 /* Each below polynomial quotient has an implicit bit for 2^XLEN */ 50 /* Polynomial quotient of (2^(XLEN+32))/CRC32_POLY, in LE format */ 53 /* Polynomial quotient of (2^(XLEN+32))/CRC32C_POLY, in LE format */ 56 /* Polynomial quotient of (2^(XLEN+32))/CRC32_POLY, in BE format, it should be
|
/linux/arch/x86/crypto/ |
H A D | polyval-clmulni_asm.S | 13 * is simply polynomial multiplication. 21 * polynomial multiplications. Further parallelism is gained by interleaving the 22 * multiplications and polynomial reductions. 81 * This step is done when computing the polynomial reduction for efficiency 116 * Computes the 256-bit polynomial represented by LO, HI, MI. Stores 133 * We have a 256-bit polynomial PH : PL = P_3 : P_2 : P_1 : P_0 that is the 141 * bits are zero, the polynomial division by x^128 can be done by right shifting. 147 * the original polynomial gives P_3 : P_2 + P_0 + T_1 : P_1 + T_0 : 0, where T 286 * Perform polynomial evaluation as specified by POLYVAL. This computes:
|
H A D | aes-gcm-avx10-x86_64.S | 93 // This is the GHASH reducing polynomial without its constant term, i.e. 95 // between bits and polynomial coefficients. 98 // representation of the polynomial x^127 + x^126 + x^121 + 1, i.e. the 99 // "reversed" GHASH reducing polynomial without its x^128 term. 166 // (i.e. polynomials whose coefficients are bits) modulo a reducing polynomial 170 // intermediate product polynomial, and (b) reduce the intermediate product to 172 // multiples of G doesn't change which field element the polynomial represents.) 174 // Unfortunately, the GCM specification maps bits to/from polynomial 176 // highest bit to be the lowest order polynomial coefficient, *not* the highest! 184 // give the polynomial terms a consistent order. E.g., considering an N-bit [all …]
|
/linux/Documentation/staging/ |
H A D | crc32.rst | 7 CRC polynomial. To check the CRC, you can either check that the 21 To produce a 32-bit CRC, the divisor is actually a 33-bit CRC polynomial. 43 the polynomial from the remainder and we're back to where we started, 82 The most significant coefficient of the remainder polynomial is stored 124 and the correct multiple of the polynomial to subtract is found using 179 of a polynomial produces a larger multiple of that polynomial. Thus,
|
/linux/arch/arm64/crypto/ |
H A D | polyval-ce-core.S | 15 * is simply polynomial multiplication. 23 * polynomial multiplications. Further parallelism is gained by interleaving the 24 * multiplications and polynomial reductions. 86 * This step is done when computing the polynomial reduction for efficiency 129 * Computes the 256-bit polynomial represented by LO, HI, MI. Stores 159 * We have a 256-bit polynomial PH : PL = P_3 : P_2 : P_1 : P_0 that is the 167 * bits are zero, the polynomial division by x^128 can be done by right 174 * the original polynomial gives P_3 : P_2 + P_0 + T_1 : P_1 + T_0 : 0, where T 324 * Perform polynomial evaluation as specified by POLYVAL. This computes:
|
/linux/arch/s390/crypto/ |
H A D | crc32be-vx.c | 43 * where P(x) is the polynomial in the normal domain and the P'(x) is the 44 * polynomial in the reversed (bitreflected) domain. 145 * The input values to the Barret reduction are the degree-63 polynomial in crc32_be_vgfm_16() 146 * in V1 (R(x)), degree-32 generator polynomial, and the reduction in crc32_be_vgfm_16() 167 * Compute the GF(2) product of the CRC polynomial in VO with T1(x) in in crc32_be_vgfm_16()
|
H A D | crc32le-vx.c | 45 * where P(x) is the polynomial in the normal domain and the P'(x) is the 46 * polynomial in the reversed (bitreflected) domain. 201 * The input values to the Barret reduction are the degree-63 polynomial in crc32_le_vgfm_generic() 202 * in V1 (R(x)), degree-32 generator polynomial, and the reduction in crc32_le_vgfm_generic() 222 * Compute the GF(2) product of the CRC polynomial with T1(x) in in crc32_le_vgfm_generic()
|
/linux/arch/arm/crypto/ |
H A D | Kconfig | 28 - PMULL (Polynomial Multiply Long) instructions 33 that uses the 64x64 to 128 bit polynomial multiplication (vmull.p64) 231 CRC32c CRC algorithm with the iSCSI polynomial (RFC 3385 and RFC 3720) 248 - PMULL (Polynomial Multiply Long) instructions
|
/linux/arch/x86/math-emu/ |
H A D | poly_l2.c | 5 | Compute the base 2 log of a FPU_REG, using a polynomial approximation. | 25 | Base 2 logarithm by a polynomial approximation. | 103 | Base 2 logarithm by a polynomial approximation. | 179 | Base 2 logarithm by a polynomial approximation. | 231 /* Do the basic fixed point polynomial evaluation */ in log2_kernel()
|
H A D | poly_tan.c | 5 | Compute the tan of a FPU_REG, using a polynomial approximation. | 115 /* Compute the negative terms for the numerator polynomial */ in poly_tan() 125 /* Compute the positive terms for the denominator polynomial */ in poly_tan()
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-bus-iio-isl29501 | 27 a second order error polynomial. 33 polynomial has to be generated from the data. The
|
/linux/arch/m68k/fpsp040/ |
H A D | satan.S | 30 | Step 3. Approximate arctan(u) by a polynomial poly. 37 | Step 6. Approximate arctan(X) by an odd polynomial in X. Exit. 39 | Step 7. Define X' = -1/X. Approximate arctan(X') by an odd polynomial in X'. 263 |--ATAN(U) IS A VERY SHORT POLYNOMIAL AND THE INDEXING TO 268 |--(DIVISION NEEDED) ANYWAY BECAUSE A POLYNOMIAL APPROXIMATION 269 |--WILL INVOLVE A VERY LONG POLYNOMIAL. 318 |--THE POLYNOMIAL MAY LOOK STRANGE, BUT IS NEVERTHELESS CORRECT. 355 |--COMPUTE POLYNOMIAL
|
/linux/drivers/hwmon/ |
H A D | bt1-pvt.h | 224 * polynomial 238 * struct pvt_poly - PVT data translation polynomial descriptor 240 * @terms: polynomial terms up to a free one.
|
/linux/Documentation/core-api/ |
H A D | librs.rst | 34 correction with the given polynomial. It either uses an existing 45 * Primitive polynomial is x^10+x^3+1 48 * generator polynomial degree (number of roots) = 6
|