-
Notifications
You must be signed in to change notification settings - Fork 76
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
10 changed files
with
920 additions
and
104 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,147 @@ | ||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> | ||
<html><head><title>Python: module mpyc.bfield</title> | ||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | ||
</head><body bgcolor="#f0f0f8"> | ||
|
||
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading"> | ||
<tr bgcolor="#7799ee"> | ||
<td valign=bottom> <br> | ||
<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong><a href="mpyc.html"><font color="#ffffff">mpyc</font></a>.bfield</strong></big></big></font></td | ||
><td align=right valign=bottom | ||
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:c%3A%5Cusers%5Cberry%5Cdocuments%5Cgithub%5Cmympyc%5Cmpyc%5Cbfield.py">c:\users\berry\documents\github\mympyc\mpyc\bfield.py</a></font></td></tr></table> | ||
<p><tt>This module supports Galois (finite) fields of characteristic 2.<br> | ||
<br> | ||
Function GF creates types implementing binary fields.<br> | ||
Instantiate an <a href="builtins.html#object">object</a> from a field and subsequently apply overloaded<br> | ||
operators such as + (addition), - (subtraction), * (multiplication),<br> | ||
and / (division), etc., to compute with field elements.<br> | ||
In-place versions of the field operators are also provided.</tt></p> | ||
<p> | ||
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> | ||
<tr bgcolor="#aa55cc"> | ||
<td colspan=3 valign=bottom> <br> | ||
<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr> | ||
|
||
<tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td> | ||
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="mpyc.gf2x.html">mpyc.gf2x</a><br> | ||
</td><td width="25%" valign=top></td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p> | ||
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> | ||
<tr bgcolor="#ee77aa"> | ||
<td colspan=3 valign=bottom> <br> | ||
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr> | ||
|
||
<tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td> | ||
<td width="100%"><dl> | ||
<dt><font face="helvetica, arial"><a href="builtins.html#object">builtins.object</a> | ||
</font></dt><dd> | ||
<dl> | ||
<dt><font face="helvetica, arial"><a href="mpyc.bfield.html#BinaryFieldElement">BinaryFieldElement</a> | ||
</font></dt></dl> | ||
</dd> | ||
</dl> | ||
<p> | ||
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> | ||
<tr bgcolor="#ffc8d8"> | ||
<td colspan=3 valign=bottom> <br> | ||
<font color="#000000" face="helvetica, arial"><a name="BinaryFieldElement">class <strong>BinaryFieldElement</strong></a>(<a href="builtins.html#object">builtins.object</a>)</font></td></tr> | ||
|
||
<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td> | ||
<td colspan=2><tt><a href="#BinaryFieldElement">BinaryFieldElement</a>(value)<br> | ||
<br> | ||
Common base class for binary field elements.<br> | ||
<br> | ||
Invariant: attribute 'value' is reduced.<br> </tt></td></tr> | ||
<tr><td> </td> | ||
<td width="100%">Methods defined here:<br> | ||
<dl><dt><a name="BinaryFieldElement-__add__"><strong>__add__</strong></a>(self, other)</dt><dd><tt>Addition.</tt></dd></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__bool__"><strong>__bool__</strong></a>(self)</dt><dd><tt>Truth value testing.<br> | ||
<br> | ||
Return False if this field element is zero, True otherwise.<br> | ||
Field elements can thus be used directly in Boolean formulas.</tt></dd></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__eq__"><strong>__eq__</strong></a>(self, other)</dt><dd><tt>Equality test.</tt></dd></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__iadd__"><strong>__iadd__</strong></a>(self, other)</dt><dd><tt>In-place addition.</tt></dd></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__ilshift__"><strong>__ilshift__</strong></a>(self, other)</dt><dd><tt>In-place left shift.</tt></dd></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__imul__"><strong>__imul__</strong></a>(self, other)</dt><dd><tt>In-place multiplication.</tt></dd></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__init__"><strong>__init__</strong></a>(self, value)</dt><dd><tt>Initialize self. See help(type(self)) for accurate signature.</tt></dd></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__int__"><strong>__int__</strong></a>(self)</dt><dd><tt>Extract polynomial field element as an integer.</tt></dd></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__irshift__"><strong>__irshift__</strong></a>(self, other)</dt><dd><tt>In-place right shift.</tt></dd></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__isub__"><strong>__isub__</strong></a> = <a href="#BinaryFieldElement-__iadd__">__iadd__</a>(self, other)</dt></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__itruediv__"><strong>__itruediv__</strong></a>(self, other)</dt><dd><tt>In-place division.</tt></dd></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__lshift__"><strong>__lshift__</strong></a>(self, other)</dt><dd><tt>Left shift.</tt></dd></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__mul__"><strong>__mul__</strong></a>(self, other)</dt><dd><tt>Multiplication.</tt></dd></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__neg__"><strong>__neg__</strong></a>(self)</dt><dd><tt>Negation.</tt></dd></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__pow__"><strong>__pow__</strong></a>(self, other)</dt><dd><tt>Exponentiation.</tt></dd></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__radd__"><strong>__radd__</strong></a> = <a href="#BinaryFieldElement-__add__">__add__</a>(self, other)</dt></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__repr__"><strong>__repr__</strong></a>(self)</dt><dd><tt>Return repr(self).</tt></dd></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__rlshift__"><strong>__rlshift__</strong></a>(self, other)</dt><dd><tt>Left shift (with reflected arguments).</tt></dd></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__rmul__"><strong>__rmul__</strong></a> = <a href="#BinaryFieldElement-__mul__">__mul__</a>(self, other)</dt></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__rrshift__"><strong>__rrshift__</strong></a>(self, other)</dt><dd><tt>Right shift (with reflected arguments).</tt></dd></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__rshift__"><strong>__rshift__</strong></a>(self, other)</dt><dd><tt>Right shift.</tt></dd></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__rsub__"><strong>__rsub__</strong></a> = <a href="#BinaryFieldElement-__add__">__add__</a>(self, other)</dt></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__rtruediv__"><strong>__rtruediv__</strong></a>(self, other)</dt><dd><tt>Division (with reflected arguments).</tt></dd></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__sub__"><strong>__sub__</strong></a> = <a href="#BinaryFieldElement-__add__">__add__</a>(self, other)</dt></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-__truediv__"><strong>__truediv__</strong></a>(self, other)</dt><dd><tt>Division.</tt></dd></dl> | ||
|
||
<dl><dt><a name="BinaryFieldElement-reciprocal"><strong>reciprocal</strong></a>(self)</dt><dd><tt>Multiplicative inverse.</tt></dd></dl> | ||
|
||
<hr> | ||
Class methods defined here:<br> | ||
<dl><dt><a name="BinaryFieldElement-to_bytes"><strong>to_bytes</strong></a>(x)<font color="#909090"><font face="helvetica, arial"> from <a href="builtins.html#type">builtins.type</a></font></font></dt><dd><tt>Return an array of bytes representing the given list of polynomials x.</tt></dd></dl> | ||
|
||
<hr> | ||
Static methods defined here:<br> | ||
<dl><dt><a name="BinaryFieldElement-from_bytes"><strong>from_bytes</strong></a>(data)</dt><dd><tt>Return the list of integers represented by the given array of bytes.</tt></dd></dl> | ||
|
||
<hr> | ||
Data descriptors defined here:<br> | ||
<dl><dt><strong>value</strong></dt> | ||
</dl> | ||
<hr> | ||
Data and other attributes defined here:<br> | ||
<dl><dt><strong>__hash__</strong> = None</dl> | ||
|
||
<dl><dt><strong>ext_deg</strong> = None</dl> | ||
|
||
<dl><dt><strong>frac_length</strong> = 0</dl> | ||
|
||
<dl><dt><strong>modulus</strong> = None</dl> | ||
|
||
<dl><dt><strong>order</strong> = None</dl> | ||
|
||
</td></tr></table></td></tr></table><p> | ||
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> | ||
<tr bgcolor="#eeaa77"> | ||
<td colspan=3 valign=bottom> <br> | ||
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr> | ||
|
||
<tr><td bgcolor="#eeaa77"><tt> </tt></td><td> </td> | ||
<td width="100%"><dl><dt><a name="-GF"><strong>GF</strong></a>(modulus)</dt><dd><tt>Create a Galois (finite) field for given irreducible polynomial.</tt></dd></dl> | ||
<dl><dt><a name="-find_irreducible"><strong>find_irreducible</strong></a>(d)</dt><dd><tt>Find smallest irreducible polynomial of degree d satisfying given constraints.<br> | ||
<br> | ||
Constraints ... primitive, low weight w=3, 5</tt></dd></dl> | ||
</td></tr></table> | ||
</body></html> |
Oops, something went wrong.