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 min(), and mmx::reverse().

00053                                                          {
00054     nat l = aligned_size<K,V> (n2);
00055     K* rev_s2 = mmx_new<K> (l);
00056     Pol::reverse (rev_s2, s2, n2);
00057     for (nat i = 1; i <= n2; i++, dest++)
00058       *dest = Vec::inn_prod (s1    , rev_s2 + n2 - i, min (i, n1));
00059     for (nat i = 1; i <  n1; i++, dest++)
00060       *dest = Vec::inn_prod (s1 + i, rev_s2         , min (n2, n1 - i));
00061     mmx_delete (rev_s2, l);
00062   } 


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

Generated on 6 Dec 2012 for algebramix by  doxygen 1.6.1