Logo Coherent WaveBurst  
Reference Guide
Logo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SymmObjArray.cc
Go to the documentation of this file.
1 #include "SymmObjArray.hh"
2 
3 #include "SymmArray.hh"
4 #include "SymmArraySSE.hh"
5 
7 
8 template <class T>
9 SymmObjArray<T>::SymmObjArray(unsigned int n)
10 { Size = 2*n+1; //mind the plus
11  rec = new T[Size];
12  zero = rec+n;
13  if(rec == 0 )printf("SymmObjArray::SymmObjArray : memory not allocated\n");
14 }
15 
16 template <class T>
18 { zero = rec = 0;
19  *this=a;
20 }
21 
22 template <class T>
24 { Resize0(other.Size);
25  for(int i=0; i<Size; ++i) rec[i]= other.rec[i];
26  zero = rec + Size/2;
27  return *this;
28 }
29 
30 template <class T>
32 { delete [] rec;
33 }
34 
35 template <class T>
36 void SymmObjArray<T>::Resize(unsigned int sz)
37 { Resize0(sz = 2*sz+1);
38 }
39 
40 template <class T>
41 void SymmObjArray<T>::Resize0(unsigned int sz)
42 { delete [] rec;
43  Size = sz;
44  rec = new T[Size];
45  zero = rec + Size/2;
46 }
47 
48 template <class T>
50 { fwrite(&Size, sizeof(int), 1, f);
51  for(int i=0; i<Size; ++i)rec[i].Write(f);
52 }
53 
54 template <class T>
56 { int newSize;
57  fread(&newSize, sizeof(int), 1, f);
58  if(Size)delete [] rec;
59  Size = newSize;
60  rec = new T[Size];
61  zero = rec + Size/2;
62  for(int i=0; i<Size; ++i)rec[i].Read(f);
63 }
64 
65 template class SymmObjArray< SymmArray<int> >;
66 template class SymmObjArray< SymmArray<float> >;
67 template class SymmObjArray< SymmArray<double> >;
68 
69 template class SymmObjArray< SymmArraySSE<int> >;
70 template class SymmObjArray< SymmArraySSE<float> >;
71 template class SymmObjArray< SymmArraySSE<double> >;
tuple f
Definition: cwb_online.py:91
printf("total live time: non-zero lags = %10.1f \n", liveTot)
wavearray< double > a(hp.size())
int n
Definition: cwb_net.C:10
void Read(FILE *f)
Definition: SymmObjArray.cc:55
i drho i
tlive_fix Write()
virtual ~SymmObjArray()
Definition: SymmObjArray.cc:31
void Resize(unsigned int sz)
Definition: SymmObjArray.cc:36
void Resize0(unsigned int sz)
Definition: SymmObjArray.cc:41
double T
Definition: testWDM_4.C:11
SymmObjArray(unsigned int n=0)
Definition: SymmObjArray.cc:9
SymmObjArray & operator=(const SymmObjArray &other)
Definition: SymmObjArray.cc:23
void Write(FILE *f)
Definition: SymmObjArray.cc:49