00001 00017 #include "cbuffer.h" 00018 00019 buffer2D::buffer2D (INT Nelem, INT Nfft) 00020 : m_Nelem (Nelem), m_Ndim(Nfft), m_head (0), m_tail (-1) 00021 { 00022 m_buffer = (DOUBLE**)xmalloc (Nelem*sizeof(DOUBLE*)); 00023 for (INT i = 0; i < m_Nelem; ++i) 00024 m_buffer[i] = (DOUBLE*)xmalloc (Nfft*sizeof(DOUBLE)); 00025 } 00026 00027 buffer2D::~buffer2D() 00028 { 00029 if (m_buffer) 00030 { 00031 for (INT i = 0; i < m_Nelem; ++i) 00032 xfree(m_buffer[i]); 00033 xfree(m_buffer); 00034 } 00035 } 00036 00046 void 00047 buffer2D::Resize (INT Nelem, INT Nfft) 00048 { 00049 00050 if (m_buffer) 00051 { 00052 for (INT i = 0; i < m_Nelem; ++i) 00053 xfree(m_buffer[i]); 00054 xfree(m_buffer); 00055 } 00056 m_buffer = (DOUBLE**)xmalloc (Nelem*sizeof(DOUBLE*)); 00057 00058 for (INT i = 0; i < Nelem; ++i) 00059 m_buffer[i] = (DOUBLE*)xmalloc (Nfft*sizeof(DOUBLE)); 00060 00061 m_head = 0; 00062 m_tail = -1; 00063 m_Nelem = Nelem; 00064 m_Ndim = Nfft; 00065 } 00066 00067 00068 00069 00070 00071 00072 00073 00078 void 00079 buffer1D::Resize (INT Nelem) 00080 { 00081 if (m_buffer) 00082 xfree(m_buffer); 00083 00084 m_buffer = (DOUBLE*)xmalloc (Nelem*sizeof(DOUBLE)); 00085 00086 m_head = 0; 00087 m_tail = -1; 00088 m_Nelem = Nelem; 00089 } 00090 00091 00092 00093 00094