alloc.cpp

来自「利用C」· C++ 代码 · 共 102 行

CPP
102
字号
// Copyright (C) 2004-2005 Anders Logg.// Licensed under the GNU LGPL Version 2.1.//// First added:  2004-12-21// Last changed: 2005#include <dolfin/log/dolfin_log.h>#include "Alloc.h"using namespace dolfin;//-----------------------------------------------------------------------------Alloc::Alloc() : size(0), next(0){  // Do nothing}//-----------------------------------------------------------------------------void Alloc::realloc(int** data, uint oldsize, uint newsize){  dolfin_assert(newsize > oldsize);    // Allocate new data  int* newdata = new int[newsize];  // Copy old data  for (uint i = 0; i < oldsize; i++)    newdata[i] = (*data)[i];  // Set default values  for (uint i = oldsize; i < newsize; i++)    newdata[i] = 0;  // Delete old data and replace  if ( *data ) delete [] *data;  *data = newdata;}//-----------------------------------------------------------------------------void Alloc::realloc(uint** data, uint oldsize, uint newsize){  dolfin_assert(newsize > oldsize);    // Allocate new data  uint* newdata = new uint[newsize];  // Copy old data  for (uint i = 0; i < oldsize; i++)    newdata[i] = (*data)[i];  // Set default values  for (uint i = oldsize; i < newsize; i++)    newdata[i] = 0;  // Delete old data and replace  if ( *data ) delete [] *data;  *data = newdata;}//-----------------------------------------------------------------------------void Alloc::realloc(real** data, uint oldsize, uint newsize){  dolfin_assert(newsize > oldsize);  // Allocate new data  real* newdata = new real[newsize];  // Copy old data  for (uint i = 0; i < oldsize; i++)    newdata[i] = (*data)[i];  // Set default values  for (uint i = oldsize; i < newsize; i++)    newdata[i] = 0.0;  // Delete old data and replace  if ( *data ) delete [] *data;  *data = newdata;}//-----------------------------------------------------------------------------void Alloc::disp(uint* data, uint size){  cout << "[ ";  for (uint i = 0; i < size; i++)    cout << data[i] << " ";  cout << "]" << endl;}//-----------------------------------------------------------------------------void Alloc::disp(int* data, uint size){  cout << "[ ";  for (uint i = 0; i < size; i++)    cout << data[i] << " ";  cout << "]" << endl;}//-----------------------------------------------------------------------------void Alloc::disp(real* data, uint size){  cout << "[ ";  for (uint i = 0; i < size; i++)    cout << data[i] << " ";  cout << "]" << endl;}//-----------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?