algebramix_doc 0.3
|
#include <crt_dicho.hpp>
Definition at line 110 of file crt_dicho.hpp.
crt_dicho_transformer | ( | const vector< M > & | p, |
bool | lazy = true |
||
) | [inline] |
Definition at line 164 of file crt_dicho.hpp.
References mmx::N(), mmx::seg(), and crt_dicho_transformer< C, S, V >::setup_inverse().
: tree(NULL), k(NULL) { setup_direct (seg (p), N(p)); aux= mmx_new<C> (n); if (! lazy) setup_inverse (); }
~crt_dicho_transformer | ( | ) | [inline] |
Definition at line 170 of file crt_dicho.hpp.
{ if (n == 0) return; mmx_delete<M> (p, n); mmx_delete<C> (aux, n); for (nat i= 0; i < depth; i++) mmx_delete<Modulus> (tree[i], k[i]); mmx_delete<Modulus*> (tree, depth); mmx_delete<nat> (k, depth); if (m != NULL) mmx_delete<C> (m, n); }
void combine | ( | C & | a, |
const I * | c | ||
) | [inline] |
Definition at line 198 of file crt_dicho.hpp.
{ Crt::combine (a, c, tree, k, depth, n, aux); }
C comodulus | ( | nat | i | ) | const [inline] |
Definition at line 190 of file crt_dicho.hpp.
{ VERIFY (i < n, "index out of range"); return *P / m[i]; }
void direct_transform | ( | I * | c, |
const C & | a | ||
) | const [inline] |
Definition at line 194 of file crt_dicho.hpp.
References mmx::C.
{ C b= Crt::encode (a, P); Crt::direct (c, b, tree, k, depth, n, aux); }
void inverse_transform | ( | C & | a, |
const I * | c | ||
) | [inline] |
Definition at line 201 of file crt_dicho.hpp.
References crt_dicho_transformer< C, S, V >::setup_inverse().
{ setup_inverse (); Crt::inverse (a, c, tree, k, depth, m, n, P, aux); a= Crt::decode (a, P, H); }
M operator[] | ( | nat | i | ) | const [inline] |
Definition at line 180 of file crt_dicho.hpp.
{ VERIFY (i < n, "index out of range"); return p[i]; }
Modulus product | ( | ) | const [inline] |
Definition at line 187 of file crt_dicho.hpp.
{
return P; }
void setup_inverse | ( | ) | [inline] |
Definition at line 153 of file crt_dicho.hpp.
References mmx::C.
Referenced by crt_dicho_transformer< C, S, V >::crt_dicho_transformer(), and crt_dicho_transformer< C, S, V >::inverse_transform().
nat size | ( | ) | const [inline] |