| 275 | } |
| 276 | |
| 277 | CanonicalForm GFMapDown (const CanonicalForm & F, int k) |
| 278 | { |
| 279 | int d= getGFDegree(); |
| 280 | ASSERT (d % k == 0, "multiple of GF degree expected"); |
| 281 | int p= getCharacteristic(); |
| 282 | int ext_field_size= ipower (p, d); |
| 283 | int field_size= ipower ( p, k); |
| 284 | int diff= (ext_field_size - 1)/(field_size - 1); |
| 285 | return GFPowDown (F, diff); |
| 286 | } |
| 287 | |
| 288 | /// map F in \f$ F_{p} (\alpha ) \f$ which is generated by G into some |
| 289 | /// \f$ F_{p}(\beta ) \f$ which is generated by H |
no test coverage detected