Changes in src/helpers.cpp [a67d19:920c70]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/helpers.cpp
ra67d19 r920c70 6 6 7 7 #include "helpers.hpp" 8 #include "Helpers/fast_functions.hpp" 8 9 #include "log.hpp" 9 10 #include "memoryusageobserver.hpp" … … 51 52 }; 52 53 53 /** Returns the power of \a n with respect to \a base.54 * \param base basis55 * \param n power56 * \return \f$base^n\f$57 */58 int pot(int base, int n)59 {60 int res = 1;61 int j;62 for (j=n;j--;)63 res *= base;64 return res;65 };66 67 54 /** Counts lines in file. 68 55 * Note we are scanning lines from current position, not from beginning. … … 71 58 int CountLinesinFile(ifstream &InputFile) 72 59 { 73 char *buffer = Malloc<char>(MAXSTRINGSIZE, "CountLinesinFile: *buffer");60 char *buffer = new char[MAXSTRINGSIZE]; 74 61 int lines=0; 75 62 … … 83 70 } 84 71 InputFile.seekg(PositionMarker, ios::beg); 85 Free(&buffer);72 delete[](buffer); 86 73 return lines; 87 74 }; … … 103 90 } 104 91 // allocate string 105 returnstring = Malloc<char>(order + 2, "FixedDigitNumber: *returnstring");92 returnstring = new char[order + 2]; 106 93 // terminate and fill string array from end backward 107 94 returnstring[order] = '\0'; … … 135 122 double * ReturnFullMatrixforSymmetric(const double * const symm) 136 123 { 137 double *matrix = Malloc<double>(NDIM * NDIM, "molecule::ReturnFullMatrixforSymmetric: *matrix");124 double *matrix = new double[NDIM * NDIM]; 138 125 matrix[0] = symm[0]; 139 126 matrix[1] = symm[1]; … … 153 140 double * InverseMatrix( const double * const A) 154 141 { 155 double *B = Malloc<double>(NDIM * NDIM, "Vector::InverseMatrix: *B");142 double *B = new double[NDIM * NDIM]; 156 143 double detA = RDET3(A); 157 144 double detAReci; … … 175 162 }; 176 163 177 /** hard-coded determinant of a 3x3 matrix. 178 * \param a[9] matrix 179 * \return \f$det(a)\f$ 180 */ 181 double RDET3(const double a[NDIM*NDIM]) 182 { 183 return ((a)[0]*(a)[4]*(a)[8] + (a)[3]*(a)[7]*(a)[2] + (a)[6]*(a)[1]*(a)[5] - (a)[2]*(a)[4]*(a)[6] - (a)[5]*(a)[7]*(a)[0] - (a)[8]*(a)[1]*(a)[3]); 184 }; 185 186 /** hard-coded determinant of a 2x2 matrix. 187 * \param a[4] matrix 188 * \return \f$det(a)\f$ 189 */ 190 double RDET2(const double a[4]) 191 { 192 return ((a[0])*(a[3])-(a[1])*(a[2])); 193 }; 194 195 /** hard-coded determinant of a 2x2 matrix. 196 * \param a0 (0,0) entry of matrix 197 * \param a1 (0,1) entry of matrix 198 * \param a2 (1,0) entry of matrix 199 * \param a3 (1,1) entry of matrix 200 * \return \f$det(a)\f$ 201 */ 202 double RDET2(const double a0, const double a1, const double a2, const double a3) 203 { 204 return ((a0)*(a3)-(a1)*(a2)); 205 }; 164 206 165 207 166 /** Comparison function for GSL heapsort on distances in two molecules. … … 237 196 238 197 if (buffer != NULL) { 239 MemoryUsageObserver::getInstance()->addMemory(buffer, size);198 //MemoryUsageObserver::getInstance()->addMemory(buffer, size); 240 199 } else { 241 200 Log() << Verbose(0) << "Malloc for datatype " << typeid(char).name() … … 247 206 248 207 /** 249 * Frees all memory registered by the memory observer and calls exit(225) afterwards.208 * Calls exit(255). 250 209 */ 251 210 void performCriticalExit() { 252 map<void*, size_t> pointers = MemoryUsageObserver::getInstance()->getPointersToAllocatedMemory();253 for (map<void*, size_t>::iterator runner = pointers.begin(); runner != pointers.end(); runner++) {254 Free(((void**) &runner->first));255 }256 257 211 exit(255); 258 212 }
Note:
See TracChangeset
for help on using the changeset viewer.