CPPLapack
|
(DO NOT USE) Smart-temporary Real Double-precision Column Vector Class More...
#include <_dcovector.hpp>
Public Member Functions | |
_dcovector () | |
_dcovector (const _dcovector &) | |
~_dcovector () | |
_zcovector | to_zcovector () const |
double & | operator() (const long &) const |
void | write (const char *) const |
void | nullify () const |
void | destroy () const |
Public Attributes | |
long | l |
vector size | |
long | cap |
vector capacity | |
double * | array |
1D array to store vector data | |
Friends | |
std::ostream & | operator<< (std::ostream &, const _dcovector &) |
_drovector | t (const dcovector &) |
double | nrm2 (const dcovector &) |
long | idamax (const dcovector &) |
double | damax (const dcovector &) |
const _dcovector & | operator+ (const _dcovector &) |
_dcovector | operator- (const _dcovector &) |
_dcovector | operator+ (const _dcovector &, const dcovector &) |
_dcovector | operator+ (const _dcovector &, const _dcovector &) |
_dcovector | operator- (const _dcovector &, const dcovector &) |
_dcovector | operator- (const _dcovector &, const _dcovector &) |
_dgematrix | operator* (const _dcovector &, const drovector &) |
_dgematrix | operator* (const _dcovector &, const _drovector &) |
_dcovector | operator* (const _dcovector &, const double &) |
_dcovector | operator/ (const _dcovector &, const double &) |
double | operator% (const _dcovector &, const dcovector &) |
double | operator% (const _dcovector &, const _dcovector &) |
_dcovector | operator* (const double &, const _dcovector &) |
(DO NOT USE) Smart-temporary Real Double-precision Column Vector Class
Definition at line 3 of file _dcovector.hpp.
_dcovector::_dcovector | ( | ) | [inline] |
_dcovector constructor
Definition at line 3 of file _dcovector-constructor.hpp.
_dcovector::_dcovector | ( | const _dcovector & | vec | ) | [inline] |
_dcovector::~_dcovector | ( | ) | [inline] |
_dcovector destructor
Definition at line 27 of file _dcovector-constructor.hpp.
References array.
{VERBOSE_REPORT;VERBOSE_REPORT; delete[] array; }
_zcovector _dcovector::to_zcovector | ( | ) | const [inline] |
double & _dcovector::operator() | ( | const long & | i | ) | const [inline] |
void _dcovector::write | ( | const char * | filename | ) | const [inline] |
Definition at line 37 of file _dcovector-io.hpp.
References destroy(), i(), l, and operator()().
{VERBOSE_REPORT; std::ofstream ofs(filename, std::ios::trunc); ofs.setf(std::cout.flags()); ofs.precision(std::cout.precision()); ofs.width(std::cout.width()); ofs.fill(std::cout.fill()); ofs << "#dcovector" << " " << l << std::endl; for(long i=0; i<l; i++){ ofs << operator()(i) << std::endl; } ofs.close(); destroy(); }
void _dcovector::nullify | ( | ) | const [inline] |
nullify all the vector data
Definition at line 3 of file _dcovector-misc.hpp.
Referenced by _dcovector(), dcovector::dcovector(), dcovector::shallow_copy(), and t().
void _dcovector::destroy | ( | ) | const [inline] |
destroy all the vector data
Definition at line 12 of file _dcovector-misc.hpp.
References array.
Referenced by damax(), idamax(), nrm2(), operator%(), operator*(), operator+(), dcovector::operator+=(), operator-(), dcovector::operator-=(), operator<<(), to_zcovector(), and write().
std::ostream& operator<< | ( | std::ostream & | s, |
const _dcovector & | vec | ||
) | [friend] |
_drovector t | ( | const dcovector & | covec | ) | [friend] |
return its Euclidean norm
Definition at line 13 of file dcovector-calc.hpp.
return the index of element having the largest absolute value in 0-based numbering system
Definition at line 21 of file dcovector-calc.hpp.
return its largest absolute value
Definition at line 28 of file dcovector-calc.hpp.
const _dcovector& operator+ | ( | const _dcovector & | vec | ) | [friend] |
+_dcovector operator
Definition at line 3 of file _dcovector-unary.hpp.
{VERBOSE_REPORT;
return vec;
}
_dcovector operator- | ( | const _dcovector & | vec | ) | [friend] |
_dcovector operator+ | ( | const _dcovector & | vecA, |
const dcovector & | vecB | ||
) | [friend] |
_dcovector+dcovector operator
Definition at line 3 of file _dcovector-dcovector.hpp.
{VERBOSE_REPORT; #ifdef CPPL_DEBUG if(vecA.l!=vecB.l){ ERROR_REPORT; std::cerr << "These two vectors can not make a sumation." << std::endl << "Your input was (" << vecA.l << ") + (" << vecB.l << ")." << std::endl; exit(1); } #endif//CPPL_DEBUG for(long i=0; i<vecA.l; i++){ vecA.array[i]+=vecB.array[i]; } return vecA; }
_dcovector operator+ | ( | const _dcovector & | vecA, |
const _dcovector & | vecB | ||
) | [friend] |
_dcovector+_dcovector operator
Definition at line 3 of file _dcovector-_dcovector.hpp.
{VERBOSE_REPORT; #ifdef CPPL_DEBUG if(vecA.l!=vecB.l){ ERROR_REPORT; std::cerr << "These two vectors can not make a sumation." << std::endl << "Your input was (" << vecA.l << ") + (" << vecB.l << ")." << std::endl; exit(1); } #endif//CPPL_DEBUG for(long i=0; i<vecA.l; i++){ vecA.array[i]+=vecB.array[i]; } vecB.destroy(); return vecA; }
_dcovector operator- | ( | const _dcovector & | vecA, |
const dcovector & | vecB | ||
) | [friend] |
dcovector-dcovector operator
Definition at line 22 of file _dcovector-dcovector.hpp.
{VERBOSE_REPORT; #ifdef CPPL_DEBUG if(vecA.l!=vecB.l){ ERROR_REPORT; std::cerr << "These two vectors can not make a subtraction." << std::endl << "Your input was (" << vecA.l << ") - (" << vecB.l << ")." << std::endl; exit(1); } #endif//CPPL_DEBUG for(long i=0; i<vecA.l; i++){ vecA.array[i]-=vecB.array[i]; } return vecA; }
_dcovector operator- | ( | const _dcovector & | vecA, |
const _dcovector & | vecB | ||
) | [friend] |
_dcovector-_dcovector operator
Definition at line 23 of file _dcovector-_dcovector.hpp.
{VERBOSE_REPORT; #ifdef CPPL_DEBUG if(vecA.l!=vecB.l){ ERROR_REPORT; std::cerr << "These two vectors can not make a subtraction." << std::endl << "Your input was (" << vecA.l << ") - (" << vecB.l << ")." << std::endl; exit(1); } #endif//CPPL_DEBUG for(long i=0; i<vecA.l; i++){ vecA.array[i]-=vecB.array[i]; } vecB.destroy(); return vecA; }
_dgematrix operator* | ( | const _dcovector & | covec, |
const drovector & | rovec | ||
) | [friend] |
_dgematrix operator* | ( | const _dcovector & | covec, |
const _drovector & | rovec | ||
) | [friend] |
_dcovector operator* | ( | const _dcovector & | vec, |
const double & | d | ||
) | [friend] |
_dcovector*double operator
Definition at line 3 of file _dcovector-double.hpp.
_dcovector operator/ | ( | const _dcovector & | vec, |
const double & | d | ||
) | [friend] |
_dcovector/double operator
Definition at line 11 of file _dcovector-double.hpp.
double operator% | ( | const _dcovector & | vecA, |
const dcovector & | vecB | ||
) | [friend] |
dcovector^T*dcovector operator (inner product)
Definition at line 40 of file _dcovector-dcovector.hpp.
{VERBOSE_REPORT; #ifdef CPPL_DEBUG if(vecA.l!=vecB.l){ ERROR_REPORT; std::cerr << "These two vectors can not make a dot product." << std::endl << "Your input was (" << vecA.l << ") % (" << vecB.l << ")." << std::endl; exit(1); } #endif//CPPL_DEBUG double val( ddot_( vecA.l, vecA.array, 1, vecB.array, 1 ) ); vecA.destroy(); return val; }
double operator% | ( | const _dcovector & | vecA, |
const _dcovector & | vecB | ||
) | [friend] |
_dcovector^T*_dcovector operator (inner product)
Definition at line 42 of file _dcovector-_dcovector.hpp.
{VERBOSE_REPORT; #ifdef CPPL_DEBUG if(vecA.l!=vecB.l){ ERROR_REPORT; std::cerr << "These two vectors can not make a dot product." << std::endl << "Your input was (" << vecA.l << ") % (" << vecB.l << ")." << std::endl; exit(1); } #endif//CPPL_DEBUG double val( ddot_( vecA.l, vecA.array, 1, vecB.array, 1 ) ); vecA.destroy(); vecB.destroy(); return val; }
_dcovector operator* | ( | const double & | d, |
const _dcovector & | vec | ||
) | [friend] |
double*_dcovector operator
Definition at line 3 of file double-_dcovector.hpp.
long _dcovector::l [mutable] |
vector size
Definition at line 9 of file _dcovector.hpp.
Referenced by _(), _dcovector(), damax(), dcovector::dcovector(), idamax(), nrm2(), nullify(), operator%(), operator()(), operator*(), operator+(), dcovector::operator+=(), operator-(), dcovector::operator-=(), operator/(), operator<<(), dcovector::shallow_copy(), t(), to_zcovector(), and write().
long _dcovector::cap [mutable] |
vector capacity
Definition at line 10 of file _dcovector.hpp.
Referenced by _(), _dcovector(), dcovector::dcovector(), nullify(), dcovector::shallow_copy(), and t().
double* _dcovector::array [mutable] |
1D array to store vector data
Definition at line 11 of file _dcovector.hpp.
Referenced by _(), _dcovector(), damax(), dcovector::dcovector(), destroy(), idamax(), nrm2(), nullify(), operator%(), operator()(), operator*(), operator+(), dcovector::operator+=(), operator-(), dcovector::operator-=(), operator/(), operator<<(), dcovector::shallow_copy(), t(), to_zcovector(), and ~_dcovector().