From e1376be1e5d4dd024fb1baee77e5d1871c605a0e Mon Sep 17 00:00:00 2001 From: Thorsten Liebig Date: Mon, 17 Sep 2012 12:33:30 +0200 Subject: [PATCH] nf2ff: use double for integral values --- nf2ff/nf2ff.cpp | 8 ++++---- nf2ff/nf2ff.h | 10 +++++----- nf2ff/nf2ff_calc.cpp | 30 +++++++++++++++--------------- nf2ff/nf2ff_calc.h | 32 ++++++++++++++++---------------- 4 files changed, 40 insertions(+), 40 deletions(-) diff --git a/nf2ff/nf2ff.cpp b/nf2ff/nf2ff.cpp index 2f7e369..a5792ef 100644 --- a/nf2ff/nf2ff.cpp +++ b/nf2ff/nf2ff.cpp @@ -466,8 +466,8 @@ bool nf2ff::Write2HDF5(string filename) size_t pos = 0; size_t datasize[2]={m_numPhi,m_numTheta}; size_t size = datasize[0]*datasize[1]; - float* buffer = new float[size]; - complex** field_data; + double* buffer = new double[size]; + complex** field_data; string field_names[2]={"E_theta", "E_phi"}; for (int n=0;n<2;++n) { @@ -515,7 +515,7 @@ bool nf2ff::Write2HDF5(string filename) stringstream ss; ss << "f" << fn; pos = 0; - float** field_data = GetRadPower(fn); + double** field_data = GetRadPower(fn); for (size_t j=0;jGetTotalRadPower();} - float GetMaxDirectivity(size_t f_idx) const {return m_nf2ff.at(f_idx)->GetMaxDirectivity();} + double GetTotalRadPower(size_t f_idx) const {return m_nf2ff.at(f_idx)->GetTotalRadPower();} + double GetMaxDirectivity(size_t f_idx) const {return m_nf2ff.at(f_idx)->GetMaxDirectivity();} - complex** GetETheta(size_t f_idx) const {return m_nf2ff.at(f_idx)->GetETheta();} - complex** GetEPhi(size_t f_idx) const {return m_nf2ff.at(f_idx)->GetEPhi();} - float** GetRadPower(size_t f_idx) const {return m_nf2ff.at(f_idx)->GetRadPower();} + complex** GetETheta(size_t f_idx) const {return m_nf2ff.at(f_idx)->GetETheta();} + complex** GetEPhi(size_t f_idx) const {return m_nf2ff.at(f_idx)->GetEPhi();} + double** GetRadPower(size_t f_idx) const {return m_nf2ff.at(f_idx)->GetRadPower();} //! Write results to a hdf5 file bool Write2HDF5(string filename); diff --git a/nf2ff/nf2ff_calc.cpp b/nf2ff/nf2ff_calc.cpp index 1ec6b1f..9f18924 100644 --- a/nf2ff/nf2ff_calc.cpp +++ b/nf2ff/nf2ff_calc.cpp @@ -95,10 +95,10 @@ void nf2ff_calc_thread::operator()() } } - complex** m_Nt=m_data.m_Nt; - complex** m_Np=m_data.m_Np; - complex** m_Lt=m_data.m_Lt; - complex** m_Lp=m_data.m_Lp; + complex** m_Nt=m_data.m_Nt; + complex** m_Np=m_data.m_Np; + complex** m_Lt=m_data.m_Lt; + complex** m_Lp=m_data.m_Lp; float center[3] = {m_nf_calc->m_centerCoord[0],m_nf_calc->m_centerCoord[1],m_nf_calc->m_centerCoord[2]}; if (mesh_type==1) @@ -174,11 +174,11 @@ nf2ff_calc::nf2ff_calc(float freq, vector theta, vector phi, vecto m_phi[n]=phi.at(n); unsigned int numLines[2] = {m_numTheta, m_numPhi}; - m_E_theta = Create2DArray >(numLines); - m_E_phi = Create2DArray >(numLines); - m_H_theta = Create2DArray >(numLines); - m_H_phi = Create2DArray >(numLines); - m_P_rad = Create2DArray(numLines); + m_E_theta = Create2DArray >(numLines); + m_E_phi = Create2DArray >(numLines); + m_H_theta = Create2DArray >(numLines); + m_H_phi = Create2DArray >(numLines); + m_P_rad = Create2DArray(numLines); if (center.size()==3) { @@ -285,8 +285,8 @@ bool nf2ff_calc::AddPlane(float **lines, unsigned int* numLines, complex* } } - complex power = 0; - float area; + complex power = 0; + double area; for (pos[0]=0; pos[0]* thread_data[n].H_field=H_field; thread_data[n].Js=Js; thread_data[n].Ms=Ms; - thread_data[n].m_Nt=Create2DArray >(numAngles); - thread_data[n].m_Np=Create2DArray >(numAngles); - thread_data[n].m_Lt=Create2DArray >(numAngles); - thread_data[n].m_Lp=Create2DArray >(numAngles); + thread_data[n].m_Nt=Create2DArray >(numAngles); + thread_data[n].m_Np=Create2DArray >(numAngles); + thread_data[n].m_Lt=Create2DArray >(numAngles); + thread_data[n].m_Lp=Create2DArray >(numAngles); boost::thread *t = new boost::thread( nf2ff_calc_thread(this,start,stop,n,thread_data[n]) ); diff --git a/nf2ff/nf2ff_calc.h b/nf2ff/nf2ff_calc.h index 7c0ccc0..f7e3048 100644 --- a/nf2ff/nf2ff_calc.h +++ b/nf2ff/nf2ff_calc.h @@ -47,10 +47,10 @@ typedef struct complex**** Ms; //local working data OUT - complex** m_Nt; - complex** m_Np; - complex** m_Lt; - complex** m_Lp; + complex** m_Nt; + complex** m_Np; + complex** m_Lt; + complex** m_Lp; } nf2ff_data; @@ -75,12 +75,12 @@ public: nf2ff_calc(float freq, vector theta, vector phi, vector center); ~nf2ff_calc(); - float GetTotalRadPower() const {return m_radPower;} - float GetMaxDirectivity() const {return m_maxDir;} + double GetTotalRadPower() const {return m_radPower;} + double GetMaxDirectivity() const {return m_maxDir;} - complex** GetETheta() const {return m_E_theta;} - complex** GetEPhi() const {return m_E_phi;} - float** GetRadPower() const {return m_P_rad;} + complex** GetETheta() const {return m_E_theta;} + complex** GetEPhi() const {return m_E_phi;} + double** GetRadPower() const {return m_P_rad;} unsigned int GetNumThreads() const {return m_numThreads;} void SetNumThreads(unsigned int n) {m_numThreads=n;} @@ -91,14 +91,14 @@ protected: float m_freq; float m_radius; - float m_radPower; - float m_maxDir; + double m_radPower; + double m_maxDir; - complex** m_E_theta; - complex** m_E_phi; - complex** m_H_theta; - complex** m_H_phi; - float** m_P_rad; + complex** m_E_theta; + complex** m_E_phi; + complex** m_H_theta; + complex** m_H_phi; + double** m_P_rad; float m_centerCoord[3]; unsigned int m_numTheta;