PaCO++
0.05
|
00001 #include "CommMatrix.h" 00002 #include <stdlib.h> 00003 #include <string.h> 00004 #include <iostream> 00005 00006 CommMatrix::CommMatrix(unsigned ssz, unsigned rsz) 00007 { 00008 _ssz=ssz; 00009 _rsz=rsz; 00010 _mat=new long[ssz*rsz]; 00011 00012 std::cerr<<"[new] CommMatrix -- ssz: "<<_ssz<<" rsz:"<<_rsz<<std::endl; 00013 std::cerr<<"[new] Alloc"<<(void*)_mat<<std::endl; 00014 } 00015 00016 CommMatrix::CommMatrix(CommMatrix* cm) 00017 { 00018 _ssz=cm->getSenderSize(); 00019 _rsz=cm->getReceiverSize(); 00020 _mat=new long[_ssz*_rsz]; 00021 00022 std::cerr<<"[new/copy] Alloc"<<(void*)_mat<<std::endl; 00023 00024 long* omat= cm->_get_mat(); 00025 memcpy(_mat, omat, sizeof(long)*_ssz*_rsz); 00026 00027 std::cerr<<"[new/copy] CommMatrix -- ssz: "<<_ssz<<" rsz:"<<_rsz<<std::endl; 00028 00029 } 00030 00031 CommMatrix::~CommMatrix() 00032 { 00033 if (_mat) { 00034 std::cerr<<"[del] free"<<(void*)_mat<<std::endl; 00035 delete[] _mat; 00036 } 00037 _mat=NULL; 00038 std::cerr<<"[del] CommMatrix"<<std::endl; 00039 } 00040 00041 00042 void 00043 CommMatrix::dump() const 00044 { 00045 std::cerr<<"[dump] CommMatrix -- ssz: "<<_ssz<<" rsz:"<<_rsz<<std::endl; 00046 for(unsigned i=0;i<_ssz;i++) { 00047 for(unsigned j=0;j<_rsz;j++) { 00048 std::cerr << "[dump] "<<i<<" -> "<<j<<" : "<<this->get(i,j)<<std::endl; 00049 } 00050 } 00051 }