base_integer_transformer< I > Struct Template Reference

#include <base_integer.hpp>

List of all members.

Classes

Public Types

Public Member Functions

Public Attributes

Static Public Attributes


Detailed Description

template<typename I>
struct mmx::base_integer_transformer< I >

Definition at line 72 of file base_integer.hpp.


Member Typedef Documentation

typedef C base

Definition at line 88 of file base_integer.hpp.

Definition at line 109 of file base_integer.hpp.

Definition at line 108 of file base_integer.hpp.

Definition at line 96 of file base_integer.hpp.

Definition at line 105 of file base_integer.hpp.

typedef integer C

Definition at line 73 of file base_integer.hpp.

typedef signed_of_helper<uJ>::type J

Definition at line 80 of file base_integer.hpp.

typedef modulus<I, modulus_base_variant> M

Definition at line 83 of file base_integer.hpp.

typedef I modulus_base

Definition at line 89 of file base_integer.hpp.

typedef modulus<J, modulus_middle_variant> N

Definition at line 86 of file base_integer.hpp.

typedef unsigned_int_with_size_at_least_helper< internal_size>::type uJ

Definition at line 79 of file base_integer.hpp.


Constructor & Destructor Documentation

base_integer_transformer ( const K &  _p  )  [inline]

Definition at line 115 of file base_integer.hpp.

References mmx::quo(), and mmx::square().

00115                                                 : p (_p) {
00116     J p_s= * p, q_s = square (* p); nat s= 1;
00117     while (quo (q_s, * p) == p_s) {
00118       p_s = q_s; q_s= p_s * * p; s++; }
00119     baser= mmx_new<Baser> (1, mmx_new<Baser_low> (1, p, s));
00120   }

~base_integer_transformer (  )  [inline]

Definition at line 122 of file base_integer.hpp.

00122                                       {
00123     mmx_delete<Baser> (baser, 1); }


Member Function Documentation

nat direct_transform ( I *  c,
nat  n,
const C a 
) [inline]

Definition at line 125 of file base_integer.hpp.

References mmx::direct_base().

00125                                                         {
00126     return direct_base (c, n, a, * baser); }

void inverse_transform ( C a,
const I *  c,
nat  n 
) [inline]

Definition at line 128 of file base_integer.hpp.

References mmx::inverse_base().

00128                                                           {
00129     return inverse_base (a, c, n, * baser); }

typedef Modulus_variant ( J   ) 
typedef Modulus_variant (  ) 

Member Data Documentation

Definition at line 112 of file base_integer.hpp.

const nat internal_size [static]
Initial value:
    sizeof(I) > sizeof(int) ? sizeof(I) : sizeof(int)

Definition at line 76 of file base_integer.hpp.

M p

Definition at line 111 of file base_integer.hpp.


The documentation for this struct was generated from the following file:

Generated on 20 Mar 2013 for algebramix by  doxygen 1.6.1