/////////////////////////// Helper Error Function
-void ComplexError (char *msg)
+void ComplexError (const char *msg)
{
cout << endl << msg << endl;
exit (1);
}
-void ComplexWarning (char *msg)
+void ComplexWarning (const char *msg)
{
cout << endl << msg << endl;
}
////////////////////////////////////////////////
-inline double sqr(double a) { return a*a; }
inline Complex Complex::operator + () const
{
if (a.Re == 0) return TMath::Abs(a.Im);
double R = TMath::Abs(a.Re), I = TMath::Abs(a.Im);
return (R >= I) ?
- (R * sqrt (1 + sqr(a.Im/a.Re))) :
- (I * sqrt (1 + sqr(a.Re/a.Im))) ;
+ (R * sqrt (1 + a.Im*a.Im/a.Re/a.Re)) :
+ (I * sqrt (1 + a.Re*a.Re/a.Im/a.Im)) ;
}
double Arg (const Complex &a)
return flag ? -sqrt(a.Re) : sqrt(a.Re);
double R = TMath::Abs(a.Re), I = TMath::Abs(a.Im);
double w = (R >= I) ?
- sqrt (R/2 * ( 1 + sqrt (1 + sqr(a.Im/a.Re)))):
- sqrt (I/2 * (R/I + sqrt (1 + sqr(a.Re/a.Im))));
+ sqrt (R/2 * ( 1 + sqrt (1 + a.Im*a.Im/a.Re/a.Re))):
+ sqrt (I/2 * (R/I + sqrt (1 + a.Re*a.Re/a.Im/a.Im)));
Complex c;
if (a.Re >= 0)
{