algebramix_doc 0.3
matrix_crt_multiply_helper< C > Struct Template Reference

#include <matrix_crt.hpp>

List of all members.

Public Types

Static Public Member Functions

Static Public Attributes


Detailed Description

template<typename C>
struct mmx::matrix_crt_multiply_helper< C >

Definition at line 60 of file matrix_crt.hpp.


Member Typedef Documentation

Definition at line 64 of file matrix_crt.hpp.

typedef moduli_helper<C, modulus<typename crt_transformer::modulus_base, typename crt_transformer::modulus_base_variant> > moduli_sequence

Definition at line 67 of file matrix_crt.hpp.


Member Function Documentation

static nat size ( const C s1,
nat  s1_rs,
nat  s1_cs,
const C s2,
nat  s2_rs,
nat  s2_cs,
nat  r,
nat  l,
nat  c 
) [inline, static]

Definition at line 69 of file matrix_crt.hpp.

References mmx::C, and mmx::N().

                                 {
    nat sz= 0;
    for (nat k= 0; k < l; k++) {
      nat sz1= 0, sz2= 0;
      const C* ss1= s1 + k * s1_cs;
      const C* ss2= s2 + k * s2_rs;
      for (nat i= 0; i < r; i++, ss1 += s1_rs) sz1= max (sz1, N (*ss1));
      for (nat j= 0; j < c; j++, ss2 += s2_cs) sz2= max (sz2, N (*ss2));
      sz= max (sz, sz1 + sz2);
    }
    return sz; }

Member Data Documentation

const nat dimension_threshold = 7 [static]

Definition at line 61 of file matrix_crt.hpp.

const nat ratio_threshold = 100 [static]

Definition at line 62 of file matrix_crt.hpp.


The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Friends Defines