binary_helper< sparse_vector< C, T, V > > Struct Template Reference

#include <sparse_vector.hpp>

Inheritance diagram for binary_helper< sparse_vector< C, T, V > >:
void_binary_helper< sparse_vector< C, T, V > >

List of all members.

Static Public Member Functions


Detailed Description

template<typename C, typename T, typename V>
struct mmx::binary_helper< sparse_vector< C, T, V > >

Definition at line 113 of file sparse_vector.hpp.


Member Function Documentation

static generic access ( const sparse_vector< C, T, V > &  v,
nat  i 
) [inline, static]

Reimplemented from void_binary_helper< sparse_vector< C, T, V > >.

Definition at line 122 of file sparse_vector.hpp.

00122                                                                {
00123     return as<generic> (v[i]); }

static sparse_vector<C,T,V> assemble ( const generic x  )  [inline, static]

Reimplemented from void_binary_helper< sparse_vector< C, T, V > >.

Definition at line 128 of file sparse_vector.hpp.

References mmx::N(), Pair, and Sparse_vector.

00128                                                           {
00129     vector<generic> v= as<vector<generic> > (x);
00130     Pair* r= mmx_new<Pair > (N(v));
00131     for (nat i=0; i<N(v); i++) r[i]= as<Pair > (v);
00132     return Sparse_vector (r, N(v)); }

static generic disassemble ( const sparse_vector< C, T, V > &  v  )  [inline, static]

Reimplemented from void_binary_helper< sparse_vector< C, T, V > >.

Definition at line 124 of file sparse_vector.hpp.

00124                                                              {
00125     vector<generic> r;
00126     for (nat i=0; i<N(v); i++) r << as<generic> (v[i]);
00127     return as<generic> (r); }

static generic full_type_name (  )  [inline, static]

Reimplemented from void_binary_helper< sparse_vector< C, T, V > >.

Definition at line 118 of file sparse_vector.hpp.

References mmx::C, Full_type_name, and mmx::gen().

00118                                           {
00119     return gen ("Sparse_vector", Full_type_name (C)); }

static sparse_vector<C,T,V> read ( const port in  )  [inline, static]

Reimplemented from void_binary_helper< sparse_vector< C, T, V > >.

Definition at line 141 of file sparse_vector.hpp.

References n, and void_binary_helper< C >::read().

00141                                                     {
00142     nat n= binary_read<nat> (in);
00143     return read (in, n); }

static sparse_vector<C,T,V> read ( const port in,
nat  n 
) [inline, static]

Definition at line 137 of file sparse_vector.hpp.

References void_binary_helper< C >::read(), and Sparse_vector.

00137                                                     {
00138     if (n == 0) return Sparse_vector ();
00139     else if (n == 1) return Sparse_vector (binary_read<Pair > (in));
00140     else return read (in, (n+1) >> 1) + read (in, n >> 1); }

static string short_type_name (  )  [inline, static]

Reimplemented from void_binary_helper< sparse_vector< C, T, V > >.

Definition at line 116 of file sparse_vector.hpp.

References mmx::C, and Short_type_name.

00116                                           {
00117     return "Sv" * Short_type_name (C); }

static nat size ( const sparse_vector< C, T, V > &  v  )  [inline, static]

Reimplemented from void_binary_helper< sparse_vector< C, T, V > >.

Definition at line 120 of file sparse_vector.hpp.

References mmx::N().

00120                                                   {
00121     return N(v); }

static void write ( const port out,
const sparse_vector< C, T, V > &  v 
) [inline, static]

Reimplemented from void_binary_helper< sparse_vector< C, T, V > >.

Definition at line 133 of file sparse_vector.hpp.

References mmx::N().

00133                                                                      {
00134     binary_write<nat> (out, N(v));
00135     for (nat i=0; i<N(v); i++)
00136       binary_write<Pair > (out, v[i]); }


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

Generated on 6 Dec 2012 for basix by  doxygen 1.6.1