libdecaf
|
Precomputed table of points. More...
#include <point_448.hxx>
Public Member Functions | |
~Precomputed () DECAF_NOEXCEPT | |
Destructor securely zeorizes the memory. | |
Precomputed (const Precomputed_U &yours= *decaf_448_precomputed_base) DECAF_NOEXCEPT | |
Initialize from underlying type, declared as a reference to prevent it from being called with 0, thereby breaking override. | |
Precomputed & | operator= (const Point &it) |
Initilaize from point. | |
Precomputed (const Precomputed &it) | |
Copy constructor. | |
Precomputed (const Point &it) | |
Constructor which initializes from point. | |
Point | operator* (const Scalar &s) const DECAF_NOEXCEPT |
Fixed base scalarmul. | |
Point | operator/ (const Scalar &s) const |
Multiply by s.inverse(). | |
Static Public Member Functions | |
static const Precomputed | base () DECAF_NOEXCEPT |
Return the table for the base point. | |
Precomputed table of points.
Minor difficulties arise here because the decaf API doesn't expose, as a constant, how big such an object is. Therefore we have to call malloc() or friends, but that's probably for the best, because you don't want to stack-allocate a 15kiB object anyway.
|
inline |
Initialize from underlying type, declared as a reference to prevent it from being called with 0, thereby breaking override.
The underlying object must remain valid throughout the lifetime of this one.
By default, initializes to the table for the base point.
Multiply by s.inverse().
If s=0, maps to the identity.
|
inline |
Initilaize from point.
Must allocate memory, and may throw.