#include <iostream.h>
#include <complex.h>
#include <string>
#include <malloc.h>
#include <new>
#include <fftw.h>
Go to the source code of this file.
Classes | |
class | cfftw |
Defines | |
#define | _CFFTW_HH_ |
#define | _OVERLOADED_OPERATORS_ |
Typedefs | |
typedef complex< double > | cplx |
Functions | |
cplx | operator+ (cplx a, double b) |
cplx | operator+ (double b, cplx a) |
cplx | operator* (cplx a, double b) |
cplx | operator* (double b, cplx a) |
cplx | operator/ (cplx a, double b) |
double | log (int a) |
double | sqrt (int a) |
void * | operator new[] (size_t t) throw (std::bad_alloc) |
void * | operator new (size_t t) throw (std::bad_alloc) |
void | operator delete[] (void *p) throw () |
void | operator delete (void *p) throw () |
cplx * | NewCplx (int N) |
double * | NewDouble (int N) |
int * | NewInt (int N) |
void | FreeCplx (cplx *ptr) |
Use to free memory allocated with NewCplx. | |
void | FreeDouble (double *ptr) |
Use to free memory allocated with NewDouble. | |
void | FreeInt (int *ptr) |
Use to free memory allocated with NewInt. | |
cplx | max (cplx &a, cplx &bb) |
#define _CFFTW_HH_ |
#define _OVERLOADED_OPERATORS_ |
typedef complex<double> cplx |
void FreeCplx | ( | cplx * | ptr | ) | [inline] |
Use to free memory allocated with NewCplx.
Referenced by OptSignal::ChangeAbsoluteCenterFreq(), OptSignal::DeallocateOptFiberLocalErrorWorkSpace(), OptSignal::GenerateSignalStringGaussianOrSech(), OptSignal::GenerateSignalStringGaussianOrSechWithPhaseShift(), OptSignal::GenerateSignalStringRZGaussianPattern(), OptSignal::GenerateSignalStringUsingInputSequence(), OptFiber::GetNumOutPD_Vector(), Photodetector::ReleaseMemory(), OptSignal::SetBitRateChannBM(), OptAmplifier::TimeShiftBiasedNoise(), OptAmplifier::WriteFileBiasedNoiseTime(), cfftw::~cfftw(), NoiseCovariance::~NoiseCovariance(), and OptSignal::~OptSignal().
void FreeDouble | ( | double * | ptr | ) | [inline] |
Use to free memory allocated with NewDouble.
void FreeInt | ( | int * | ptr | ) | [inline] |
Use to free memory allocated with NewInt.
double log | ( | int | a | ) | [inline] |
Referenced by RamanAmp::CalculateFrel(), OptAmplifier::ChannelAddDrop(), ChiSquareReceiverPsi(), ChiSquareReceiverPsiCplx(), OptFiberLocalError::ComputeDeltaZMax(), ReduOptFiber::CopyReduOptFiber(), OptSignal::DampBounds(), OptFilter::DemuxLoopTunableOpticalFilter(), MachZehnder::EAM34PulseShape(), OptAmplifier::ForwardStep(), gammln(), Gaussian_pdf(), gaussian_pdf(), gcf(), OptSignal::GenerateSignalStringGaussianOrSech(), OptSignal::GenerateSignalStringGaussianOrSechWithPhaseShift(), OptSignal::GenerateSignalStringQPSK_Gaussian(), OptSignal::GenerateSignalStringRZGaussianPattern(), OptSignal::GenerateSignalStringUsingInputSequence(), RamanAmp::GeneticAlgorithms(), RamanAmp::GeneticAlgorithmsVaryCW(), RamanAmp::GeneticAlgorithmsVictor(), ElecFilter::GetElecGain(), OptAmplifier::GetGainFlatenFilter(), RanNumGen::GetGaussianDeviate(), RamanAmp::GetMatrixW(), OptSpectrumAnalyzer::GetNoiseEquivalentBandwidth(), OptAmplifier::GetPolynomialFilter(), RamanAmp::GetPumpInitGuessFromIntg(), RanNumGen::GetRanCosineBiased(), RanNumGen::GetRanSignBiased(), gser(), OptSignal::InitializeFirstOrderPMDSignal(), log(), OptAmplifier::OptAmplifier(), OptFiber::OptFiber(), OptFiberLocalError::OptFiberLocalError(), RamanAmp::OptimizeBackwardIntegration(), RamanAmp::OptimizeForwardIntegration(), RamanAmp::OptimizeForwardIntegrationLastRound(), RamanAmp::OptimizeForwardPumpShootingIntegration(), RamanAmp::OptimizeForwardShootingIntegration(), RamanAmp::OptimizeForwardSignalShootingIntegration(), OptAmplifier::PumpCurrent2Power(), ReduOptAmplifier::ReduOptAmplifier(), ReduOptFiber::ReduOptFiber(), OptFilter::SantecTunableOpticalFilter(), ReduOptFiber::SetAttenuation(), OptFiber::SetAttenuation(), OptFiberLocalError::SetAttenuationdB(), ReduOptAmplifier::SetGainCompressionSaturatedAmplifier(), OptAmplifier::SetGainCompressionSaturatedAmplifier(), OptFiberLocalError::SetNepperAttenuation(), BitString::SetPseudoRandomString(), RamanAmp::ShootingGeneticAlgorithms(), RamanAmp::ShootingGeneticAlgorithmsVaryCW(), RamanAmp::ShootingGeneticAlgorithmsVictor(), RamanAmp::ShootingIntegration(), RamanAmp::ShootingIntegrationExample(), RamanAmp::ShootingRamanIteration(), OptSpectrumAnalyzer::UpdateOSA(), OptSpectrumAnalyzer::UpdateOSA_OLD(), OptFilter::WriteFreqPowerDemuxLoopFilter(), OptFilter::WriteFreqPowerSantecFilter(), and RamanAmp::WritePumpPowerdB().
Referenced by ChiSquareReceiver::ComputeGaussianPDFsAndBER(), ElecSignalStat::ComputeMinimumBERAndDecisionThreshold(), GaussianReceiver::ComputeMinimumBERAndDecisionThreshold(), ChiSquareReceiver::ComputeMinimumBERAndDecisionThreshold(), ChiSquareReceiver::ComputePDFAtTimeValue(), ChiSquareReceiver::PrepareSymmetricEig(), GeneralRealMatrix::SymmetricEig(), and cfftw::timewindow().
cplx* NewCplx | ( | int | N | ) | [inline] |
Allocates memory for a complex array of length N. Should be used instead of new
This function allocates memory for a cplx array of length N, checks whether memory has been correctly allocated, initializes memory to zero, and returns a cplx* ptr to the memory.
The memory is allocated with memalign. The memory address will be a multiple of 16, as is required when using FFTW-GEL.
Referenced by NoiseCovariance::AllocateMemory(), OptSignal::AllocateOptFiberLocalErrorWorkSpace(), cfftw::cfftw(), OptSignal::ChangeAbsoluteCenterFreq(), OptSignal::ConstructOptSignal(), ElecFilter::ElecFilter(), OptSignal::GenerateSignalStringGaussianOrSech(), OptSignal::GenerateSignalStringGaussianOrSechWithPhaseShift(), OptSignal::GenerateSignalStringRZGaussianPattern(), OptSignal::GenerateSignalStringUsingInputSequence(), OptFiber::GetNumOutPD_Vector(), Photodetector::InitPhotodetector(), MachZehnder::MachZehnder(), OptAmplifier::OptAmplifier(), OptSignal::OptSignal(), Photodetector::Photodetector(), ElecFilter::ReadMeasuredFilterData(), OptSignal::SetBitRateChannBM(), OptAmplifier::TimeShiftBiasedNoise(), and OptAmplifier::WriteFileBiasedNoiseTime().
double* NewDouble | ( | int | N | ) | [inline] |
Allocates memory for a double array of length N. Should be used instead of new
This function allocates memory for a double array of length N, checks whether memory has been correctly allocated, initializes memory to zero, and returns a double* ptr to the memory.
The memory is allocated with memalign. The memory address will be a multiple of 16, as is required when using FFTW-GEL.
Referenced by ElecSignalStat::ElecSignalStat(), GaussianReceiver::GaussianReceiver(), and ReceiverSemiAnalytical::ReceiverSemiAnalytical().
int* NewInt | ( | int | N | ) | [inline] |
Allocates memory for a int array of length N. Should be used instead of new
This function allocates memory for a int array of length N, checks whether memory has been correctly allocated, initializes memory to zero, and returns a int* ptr to the memory.
The memory is allocated with memalign. The memory address will be a multiple of 16, as is required when using FFTW-GEL.
Referenced by ElecSignalStat::ElecSignalStat(), and GaussianReceiver::GaussianReceiver().
void operator delete | ( | void * | p | ) | throw () [inline] |
void operator delete[] | ( | void * | p | ) | throw () [inline] |
void * operator new | ( | size_t | t | ) | throw (std::bad_alloc) [inline] |
void * operator new[] | ( | size_t | t | ) | throw (std::bad_alloc) [inline] |
double sqrt | ( | int | a | ) | [inline] |
Referenced by OptSignal::AddCWSignal(), RamanAmp::AddNoise(), Photodetector::AddShotNoise(), Photodetector::AddShotNoiseOLD(), OptAmplifier::AdjustGainFixedTotalOutputPowerVector(), ReduOptFiber::AllocateMemory_SetLengthSteps(), OptFiber::AllocateMemory_SetLengthSteps(), OptAmplifier::AmplifyAlternateOptSignalWithoutNoiseWithPrevioslyComputedGain(), OptAmplifier::AmplifyHomogeneous(), OptAmplifier::AmplifyOptSignalScalar(), OptAmplifier::AmplifyOptSignalVector(), OptAmplifier::AmplifyOptSignalVectorWithGainProfile(), OptFiberLocalError::ApplyFullRamanOperator(), SaturableAbsorber::ApplyHeunsMethodLocalError(), OptAmplifier::ApplyPolynomial(), OptSignal::ChangeAveragePowerChannCurrentSignal(), ElecSignalStat::ComputeAveragePDFs(), GaussianReceiver::ComputeAveragePDFs(), OptSignal::ComputeAverageSigmaMarks(), ChiSquareReceiver::ComputeGaussianPDFsAndBER(), ElecFilter::ComputeMatchAndFilter(), ChiSquareReceiver::ComputeMomentsInEachBit(), OptAmplifier::ComputeNoiseAmplitudeFactor(), OptAmplifier::ComputeNoiseAmplitudeFactorGainProfile(), SaturableAbsorber::ComputeRelativeError(), OptSignal::ComputeRMSPulseWidth(), OptSignal::ComputeRMSSpectralWidth(), OptFiberLocalError::ComputeThirdOrderSolutionAndRelativeError(), OptFiberLocalError::ComputeThirdOrderSolutionAndRelativeErrorOLD(), OptSignal::ConstructOptSignal(), ReduOptFiber::CopyReduOptFiber(), OptSignal::DampBounds(), MachZehnder::EAM34PulseShape(), OptSignal::EOM_MachZehnderModulatorElecNRZ(), OptSignal::EOM_MachZehnderModulatorOptNRZOLD(), OptSignal::EOM_PhaseModulator(), erfccExtendedRange(), ChiSquareReceiver::EvaluateGaussianApproximation(), OptFilter::FabryPerotFilter(), OptFiberLocalError::FiberAmplifierAddMonteCarloNoise(), OptFiberLocalError::FiberAmplifierComputeNoiseAmplitudeFactor(), Gaussian_pdf(), gaussian_pdf(), OptSignal::GenerateSignalStringGaussianOrSech(), OptSignal::GenerateSignalStringGaussianOrSechWithPhaseShift(), OptSignal::GenerateSignalStringNRZ_RCOS_MachZehnderModulator(), OptSignal::GenerateSignalStringQPSK_CW(), OptSignal::GenerateSignalStringQPSK_DPMZ_PM_NRZ(), OptSignal::GenerateSignalStringQPSK_Gaussian(), OptSignal::GenerateSignalStringQPSK_SEQ_PM_NRZ(), OptSignal::GenerateSignalStringRaisedCosines(), OptSignal::GenerateSignalStringRaisedCosinesWithPhaseShift(), OptSignal::GenerateSignalStringRZGaussianPattern(), OptSignal::GenerateSignalStringUsingInputSequence(), RamanAmp::GeneticAlgorithmsVaryCW(), RamanAmp::GeneticAlgorithmsVictor(), Histogram2D::Get_pdfConfidence(), ElecSignalStat::GetBER_GaussianStatisticsFromDecisionThreshold(), ElecSignalStat::GetBit0_PowerStdDev(), ElecSignalStat::GetBit1_PowerStdDev(), ReduOptSignal::GetBitErrorRate(), ElecSignalStat::GetBitErrorRate(), ReduOptSignal::GetCoPolarizedNoiseInsideBandwidth(), ReduOptSignal::GetDegreeOfPolarization(), GetDegreeOfPolarization(), OptSignal::GetDegreeOfPolarization(), OptSignal::GetDegreeOfPolarizationAndTotalStokesFreqDomain(), ReduOptFiber::GetDGD(), OptFiber::GetDGD(), OptFiberLocalError::GetDGD(), OptFiber::GetDGD_Manakov(), GetDistance2Points(), ReduOptFiber::GetExpectedDGD(), OptFiberLocalError::GetExpectedDGD(), OptFiber::GetExpectedDGD(), ReduOptFiber::GetExpectedSndOrderDGD(), OptFiberLocalError::GetExpectedSndOrderDGD(), OptFiber::GetExpectedSndOrderDGD(), OptFiber::GetExpectedThirdOrderDGD(), OptFiberLocalError::GetFreqDerivativeOfBirefringence(), RanNumGen::GetGaussianDeviate(), ElecSignalStat::GetIsolatedBit0_PowerStdDev(), ElecSignalStat::GetIsolatedBit1_PowerStdDev(), Histogram2D::GetLevelCurvesMultipleHeuristicBalanceImportVarianceWeighted(), ReduOptFiber::GetMeanDGD_SqrtLength(), OptFiberLocalError::GetMeanDGD_SqrtLength(), OptFiber::GetMeanDGD_SqrtLength(), ElecSignalStat::GetNormKcoeff0_GaussianStatistics(), ElecSignalStat::GetNormKcoeff1_GaussianStatistics(), OptFiber::GetNumOutPD_Vector(), ReduOptSignal::GetOrthogPolarizedNoiseInsideBandwidth(), ReduOptSignal::GetOutageProbGaussian(), ElecSignalStat::GetPowerStdDevBit(), ReduOptSignal::GetQ_Factor(), ElecSignalStat::GetQ_FactorFromESNR_GaussianStatistics(), ElecSignalStat::GetQ_FactorGaussianStatisticsFirstPattern(), ElecSignalStat::GetQ_FactorGaussianStatisticsFromBER(), ElecSignalStat::GetQ_FactorGaussianStatisticsWorstPattern(), GetRadiusCircle(), ChiSquareReceiver::GetReducedNoiseFreeSigAndDiagonalizeCovMatrix(), ReduOptSignal::GetScalarProdSignalNoise(), ReduOptFiber::GetSndOrderDGD(), OptFiber::GetSndOrderDGD(), Histogram::GetStdDev(), ElecSignalStat::GetStdDevASE_ASE(), ElecSignalStat::GetStdDevSignal_ASE_TimeIndex(), ElecSignalStat::GetStdDevWorstBit0_GaussianStatistics(), ElecSignalStat::GetStdDevWorstBit1_GaussianStatistics(), ElecSignalStat::GetTargetIndexTimeBestMinEyeOpening(), ElecSignalStat::GetTargetIndexTimeBestQ_Factor(), OptFiber::GetThirdOrderDGD(), GetVectorLength(), OptSignal::InitializeFirstOrderPMDSignal(), LumpedLoss::InitLumpedLoss(), Histogram2D::MergeMultipleConditionalHeuristicBalance(), Histogram::MergeMultipleConditionalHeuristicBalance(), MGeneralRotation(), ElecSignalStat::MinimizeSqQ_FactorVersusBER(), Histogram2D::MultipleHeuristicBalanceImport(), Histogram::MultipleHeuristicBalanceImport(), Histogram::MultipleImport(), Histogram::MultipleSelectiveImport(), MachZehnder::MZModulator(), Histogram::Obtain_pdf(), OptFiber::OptFiber(), OptFiberLocalError::OptFiberLocalError(), MachZehnder::PhaseModulator(), RamanAmp::PrepareNextStep(), ElecSignalStat::PreparePatternStatsForOutput(), ReduOptSignal::ProcessReduOptSignalParameters(), OptFiberLocalError::PropagateLocalError(), RamanAmp::PropagateNoise(), RamanAmp::PropagateSignalandNoise(), OptAmplifier::PropagateSignalandNoise(), NoiseCovariance::Propagator(), ChiSquareReceiver::ReceiveSignalCWNoLossNoDisp(), GaussianReceiver::ReceiveSignalDGD_NoisePartiallyPolarized(), GaussianReceiver::ReceiveSignalNoPMD_NoisePartiallyPolarized(), ReceiverSemiAnalytical::ReceiveSignalSemiAnalytical(), GaussianReceiver::ReceiveSignalUnpolarizedNoise(), ReduOptFiber::ReduOptFiber(), RamanAmp::RelaxRamanIteration(), ReduOptFiber::RMS2meanDGD(), OptFiber::rms2meanDGD(), LumpedLoss::SetLossdB(), ReduOptFiber::SetMeanDGD_SqrtLength(), OptFiber::SetMeanDGD_SqrtLength(), OptFiberLocalError::SetMeanDGDPerSqrtLength(), OptFiberLocalError::SetPMD(), ReduOptFiber::SetPMD_Fiber(), OptFiber::SetPMD_Fiber(), ReduPolarizer::SetPolarization(), Polarizer::SetPolarization(), RamanAmp::ShootingIntegration(), RamanAmp::ShootingIntegrationExample(), RamanAmp::ShootingRamanIteration(), BeamSplitter::SplitOptSignal(), sqrt(), StatisticsOfArray::StatisticsOfArray(), Stokes2Jones(), Stokes2JonesKeepPower(), PolarizTransformer::TransformPolarization(), ElecSignalStat::UpdateEqualizedPerformanceStatistics(), OptSpectrumAnalyzer::UpdateOSA(), ElecSignalStat::UpdatePerformanceStatistics(), VectorAngle(), OptSignal::WriteAveragePulseWidth(), Histogram::WriteFileGaussian_cdf(), Histogram::WriteFileGaussian_cdfc(), Histogram::WriteFileGaussian_pdf(), Histogram::WriteFileMaxwell_pdf(), ReduOptSignal::WriteFileOptSignal(), OptFilter::WriteFreqPowerFabryPerotFilter(), and OptFiberLocalError::WriteStepSizes().