MCPcopy Create free account
hub / github.com/OpenSees/OpenSees / resizeInt

Method resizeInt

SRC/database/FileDatastore.cpp:1249–1284  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1247}
1248
1249int
1250FileDatastore::resizeInt(int newSize) {
1251 int sizeOfChar = sizeof(char);
1252 int sizeOfInt = sizeof(int);
1253 int sizeOfDouble = sizeof(double);
1254 newSize = (newSize+1)*sizeOfInt/sizeOfChar;
1255
1256 if (newSize < sizeData)
1257 return 0; // already big enough
1258
1259 if (newSize <= 0) {
1260 opserr << "FileDatastore::resizeInt(int newSize) - invalidSize " << newSize << endln;
1261 return -1; // invalid size
1262 }
1263
1264 if (data != 0)
1265 delete [] data;
1266
1267 data = new char[newSize];
1268 if (data == 0) {
1269 opserr << "FileDatastore::resizeInt(int newSize) - out of memory for size: " << newSize << endln;
1270 return -1;
1271 }
1272
1273 sizeData = newSize;
1274
1275 currentMaxInt = (sizeData/sizeOfChar-sizeOfInt)/sizeOfInt;
1276 currentMaxDouble = (sizeData/sizeOfChar-sizeOfInt)/sizeOfDouble;
1277 char *dataPtr = &data[sizeof(int)];
1278 theIntData.dbTag = (int *)data;
1279 theIntData.data = (int *)dataPtr;
1280 theDoubleData.dbTag = (int *)data;
1281 theDoubleData.data = (double *)dataPtr;
1282
1283 return 0;
1284}
1285
1286int
1287FileDatastore::resizeDouble(int newSize) {

Callers 2

sendIDMethod · 0.95
recvIDMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected