#include <vector.hpp>
Definition at line 89 of file vector.hpp.
typedef implementation<vector_linear,V> Vec |
Definition at line 92 of file vector.hpp.
vector | ( | vector_rep< C, V > * | rep2 | ) | [inline] |
Definition at line 207 of file vector.hpp.
vector | ( | const vector_rep< C, V > * | rep2, | |
bool | inc | |||
) | [inline] |
Definition at line 207 of file vector.hpp.
Definition at line 207 of file vector.hpp.
~vector | ( | ) | [inline] |
Definition at line 207 of file vector.hpp.
vector | ( | ) | [inline] |
Definition at line 100 of file vector.hpp.
Definition at line 107 of file vector.hpp.
00107 { 00108 Format fm= as<Format > (get_format (c)); 00109 nat n= Vec::init_len; 00110 nat l= aligned_size<C,V> (n); 00111 C* a= mmx_formatted_new<C> (l, fm); 00112 Vec::set (a, as<C> (c), n); 00113 rep= new Vector_rep (a, n, l, true, fm); 00114 }
Definition at line 116 of file vector.hpp.
00116 { 00117 nat n= Vec::init_len; 00118 nat l= aligned_size<C,V> (n); 00119 C* a= mmx_formatted_new<C> (l, fm); 00120 Vec::set_as (a, c, n); 00121 rep= new Vector_rep (a, n, l, true, fm); 00122 }
Definition at line 123 of file vector.hpp.
00123 { 00124 Format fm= as<Format > (get_format (x)); 00125 nat n= Vec::init_len; 00126 nat l= aligned_size<C,V> (n); 00127 C* a= mmx_formatted_new<C> (l, fm); 00128 Vec::set (a, x, n); 00129 rep= new Vector_rep (a, n, l, true, fm); 00130 }
Definition at line 132 of file vector.hpp.
Definition at line 140 of file vector.hpp.
00140 { 00141 nat l= aligned_size<C,V> (N(v)); 00142 C* a= mmx_formatted_new<C> (l, fm); 00143 Vec::cast (a, seg (v), N(v)); 00144 rep= new Vector_rep (a, N(v), l, is_a_scalar (v), fm); 00145 }
Definition at line 147 of file vector.hpp.
00147 { 00148 Format fm= as<Format > (get_format (c)); 00149 nat l= aligned_size<C,V> (n); 00150 C* a= mmx_formatted_new<C> (l, fm); 00151 Vec::set (a, as<C> (c), n); 00152 rep= new Vector_rep (a, n, l, true, fm); 00153 }
Definition at line 154 of file vector.hpp.
00154 { 00155 nat l= aligned_size<C,V> (n); 00156 C* a= mmx_formatted_new<C> (l, get_format (x)); 00157 Vec::set (a, x, n); 00158 rep= new Vector_rep (a, n, l, false, get_format (x)); 00159 }
Definition at line 160 of file vector.hpp.
00160 { 00161 rep= new Vector_rep (a, n, false, fm); 00162 }
Definition at line 163 of file vector.hpp.
00163 { 00164 rep= new Vector_rep (a, n, l, false, fm); 00165 }
Definition at line 166 of file vector.hpp.
00166 { 00167 rep= new Vector_rep (a, n, l, flag, fm); 00168 }
Definition at line 169 of file vector.hpp.
00169 { 00170 Format fm= CF(it); 00171 nat i, l= Vec::def_len; 00172 if (l==0) l= aligned_size<C,V> ((nat) 1); 00173 C* a= mmx_formatted_new<C> (l, fm); 00174 for (i=0; busy (it); i++, ++it) { 00175 if (i >= l) { 00176 C* b= mmx_formatted_new<C> (aligned_size<C,V> (l<<1), fm); 00177 Vec::copy (b, a, l); 00178 mmx_delete (a, l); 00179 a= b; 00180 l= l<<1; 00181 } 00182 a[i]= *it; 00183 } 00184 rep= new Vector_rep (a, i, l, false, fm); 00185 }
void operator delete | ( | void * | ptr, | |
size_t | sz | |||
) | [inline] |
Definition at line 90 of file vector.hpp.
00091 : typedef implementation<vector_linear,V> Vec;
void operator delete[] | ( | void * | ptr, | |
size_t | sz | |||
) | [inline] |
Definition at line 90 of file vector.hpp.
00091 : typedef implementation<vector_linear,V> Vec;
void* operator new | ( | size_t | sz, | |
void * | where | |||
) | [inline] |
Definition at line 90 of file vector.hpp.
00091 : typedef implementation<vector_linear,V> Vec;
void* operator new | ( | size_t | sz | ) | [inline] |
Definition at line 90 of file vector.hpp.
00091 : typedef implementation<vector_linear,V> Vec;
void* operator new[] | ( | size_t | sz, | |
void * | where | |||
) | [inline] |
Definition at line 90 of file vector.hpp.
00091 : typedef implementation<vector_linear,V> Vec;
void* operator new[] | ( | size_t | sz | ) | [inline] |
Definition at line 90 of file vector.hpp.
00091 : typedef implementation<vector_linear,V> Vec;
const vector_rep< C, V > * operator-> | ( | ) | const [inline] |
Definition at line 207 of file vector.hpp.
Definition at line 672 of file vector.hpp.
References ASSERT, mmx::copy(), mmx::is_non_scalar(), mmx::N(), n, vector< C, V >::rep, vector< C, V >::secure(), and mmx::seg().
Definition at line 662 of file vector.hpp.
References ASSERT, mmx::is_non_scalar(), n, vector< C, V >::rep, and vector< C, V >::secure().
Definition at line 207 of file vector.hpp.
Definition at line 191 of file vector.hpp.
Definition at line 187 of file vector.hpp.
00187 { 00188 VERIFY (is_non_scalar (*this), "non-scalar vector expected"); 00189 VERIFY (i<N(*this), "index out of range"); 00190 return rep->a[i]; }
C& scalar | ( | ) | [inline] |
Definition at line 198 of file vector.hpp.
00198 { 00199 VERIFY (is_a_scalar (*this), "scalar vector expected"); 00200 return rep->a[0]; }
C scalar | ( | ) | const [inline] |
Definition at line 195 of file vector.hpp.
Referenced by mmx::binary_map(), mmx::binary_map_scalar(), mmx::binary_test(), mmx::binary_test_scalar(), mmx::exact_eq(), mmx::operator==(), mmx::rebuild(), mmx::unary_map(), mmx::unary_set(), mmx::unary_set_scalar(), and mmx::vector_map_2().
00195 { 00196 VERIFY (is_a_scalar (*this), "scalar vector expected"); 00197 return rep->a[0]; }
void secure | ( | ) | [inline] |
Definition at line 207 of file vector.hpp.
Referenced by vector< C, V >::operator<<(), and vector< observer >::operator[]().
nat size | ( | ) | const [inline] |
Definition at line 201 of file vector.hpp.
00201 { 00202 return rep->n; }
vector_rep< C , V >* rep [protected] |
Definition at line 90 of file vector.hpp.
Referenced by vector< C, V >::operator<<(), vector< observer >::operator[](), vector< observer >::scalar(), vector< observer >::size(), and vector< observer >::vector().