algebramix_doc 0.3
polynomial_mul_helper< V, C, K > Struct Template Reference

#include <polynomial_unrolled.hpp>

List of all members.

Public Types

Static Public Member Functions


Detailed Description

template<typename V, typename C, typename K>
struct mmx::polynomial_mul_helper< V, C, K >

Definition at line 48 of file polynomial_unrolled.hpp.


Member Typedef Documentation

typedef implementation<polynomial_linear,V> Pol

Definition at line 50 of file polynomial_unrolled.hpp.

typedef implementation<vector_linear,V> Vec

Definition at line 49 of file polynomial_unrolled.hpp.


Member Function Documentation

static void op ( C dest,
const C s1,
const K *  s2,
nat  n1,
nat  n2 
) [inline, static]

Definition at line 53 of file polynomial_unrolled.hpp.

References mmx::reverse().

                                                         {
    nat l = aligned_size<K,V> (n2);
    K* rev_s2 = mmx_new<K> (l);
    Pol::reverse (rev_s2, s2, n2);
    for (nat i = 1; i <= n2; i++, dest++)
      *dest = Vec::inn_prod (s1    , rev_s2 + n2 - i, min (i, n1));
    for (nat i = 1; i <  n1; i++, dest++)
      *dest = Vec::inn_prod (s1 + i, rev_s2         , min (n2, n1 - i));
    mmx_delete (rev_s2, l);
  } 

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