Logo ROOT  
Reference Guide
TComplex.cxx
Go to the documentation of this file.
1// @(#)root/mathcore:$Id$
2// Author: Federico Carminati 22/04/2004
3
4/*************************************************************************
5 * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12//////////////////////////////////////////////////////////////////////////
13// //
14// TComplex //
15// //
16//////////////////////////////////////////////////////////////////////////
17
18#include "TComplex.h"
19#include <iostream>
20#include <sstream>
21
23
24////////////////////////////////////////////////////////////////////////////////
25/// Standard constructor
26
27TComplex::TComplex(Double_t re, Double_t im, Bool_t polar) : fRe(re), fIm(im)
28{
29 if (polar) {
30 if(re<0) {
31 ::Warning("TComplex::ctor","Modulo of a complex number should be >=0, taking the abs");
32 re=-re;
33 }
34 fRe=re*TMath::Cos(im);
35 fIm=re*TMath::Sin(im);
36 }
37}
38
39////////////////////////////////////////////////////////////////////////////////
40
41std::ostream& operator<<(std::ostream& out, const TComplex& c)
42{
43 out << "(" << c.fRe << "," << c.fIm << "i)";
44 return out;
45}
46
47////////////////////////////////////////////////////////////////////////////////
48
49std::istream& operator>>(std::istream& in, TComplex& c)
50{
51 in >> c.fRe >> c.fIm;
52 return in;
53}
54
55namespace cling {
56std::string printValue(TComplex *c)
57{
58 std::stringstream s;
59 s << *c;
60 return s.str();
61}
62}
#define c(i)
Definition: RSha256.hxx:101
double Double_t
Definition: RtypesCore.h:59
std::istream & operator>>(std::istream &in, TComplex &c)
Definition: TComplex.cxx:49
ClassImp(TComplex)
std::ostream & operator<<(std::ostream &out, const TComplex &c)
Definition: TComplex.cxx:41
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
Definition: TError.cxx:231
Double_t fRe
Definition: TComplex.h:30
Double_t fIm
Definition: TComplex.h:31
TComplex()
Definition: TComplex.h:35
static constexpr double s
Double_t Cos(Double_t)
Definition: TMath.h:593
Double_t Sin(Double_t)
Definition: TMath.h:589