27 #ifndef _CXSC_CVECRMAT_INL_INCLUDED
28 #define _CXSC_CVECRMAT_INL_INCLUDED
38 { _vmconstr<cvector,rmatrix,complex>(*
this,sl); }
45 { _vmsconstr<cvector,rmatrix_slice,complex>(*
this,sl); }
49 for (
int i=0, j=v.start;i<v.size;i++,j+=v.offset)
59 INLINE cvector _cvector(
const rmatrix_slice &sl)
65 {
return cvector(sl); }
128 #if(CXSC_INDEX_CHECK)
133 {
return _vmassign<cvector,rmatrix,complex>(*
this,m); }
135 #if(CXSC_INDEX_CHECK)
140 {
return _vmassign<cvector,rmatrix,complex>(*
this,
rmatrix(m)); }
142 #if(CXSC_INDEX_CHECK)
147 {
return _vsvassign(*
this,
rvector(m)); }
149 #if(CXSC_INDEX_CHECK)
157 #if(CXSC_INDEX_CHECK)
162 {
return _mvcmult<rmatrix,cvector,cvector>(m,v); }
163 INLINE cvector
operator *(
const rmatrix_slice &ms,
const cvector &v)
164 #if(CXSC_INDEX_CHECK)
169 {
return _msvcmult<rmatrix_slice,cvector,cvector>(ms,v); }
170 INLINE cvector
operator *(
const cvector &v,
const rmatrix &m)
171 #if(CXSC_INDEX_CHECK)
176 {
return _vmcmult<cvector,rmatrix,cvector>(v,m); }
177 INLINE cvector
operator *(
const cvector &v,
const rmatrix_slice &ms)
178 #if(CXSC_INDEX_CHECK)
183 {
return _vmscmult<cvector,rmatrix_slice,cvector>(v,ms); }
184 INLINE cvector &
operator *=(cvector &v,
const rmatrix &m)
185 #if(CXSC_INDEX_CHECK)
190 {
return _vmcmultassign<cvector,rmatrix,complex>(v,m); }
191 INLINE cvector &
operator *=(cvector &v,
const rmatrix_slice &ms)
192 #if(CXSC_INDEX_CHECK)
197 {
return _vmscmultassign<cvector,rmatrix_slice,complex>(v,ms); }
199 INLINE cvector
operator *(
const cvector_slice &v,
const rmatrix &m)
200 #if(CXSC_INDEX_CHECK)
205 {
return _vmcmult<cvector,rmatrix,cvector>(cvector(v),m); }
207 #if(CXSC_INDEX_CHECK)
212 {
return _vsmcmultassign<cvector_slice,rmatrix,complex>(*
this,m); }