Line data Source code
1 : //--------------------------------------------------------------------------
2 : //
3 : // Environment:
4 : // This software is part of the EvtGen package developed jointly
5 : // for the BaBar and CLEO collaborations. If you use all or part
6 : // of it, please give an appropriate acknowledgement.
7 : //
8 : // Copyright Information: See EvtGen/COPYRIGHT
9 : // Copyright (C) 1998 Caltech, UCSB
10 : //
11 : // Module: EvtComplex.cc
12 : //
13 : // Description: EvtComlex.cc
14 : //
15 : // Modification history:
16 : //
17 : // RYD December 5, 1998 Created
18 : //
19 : //------------------------------------------------------------------------
20 : //
21 : #include "EvtGenBase/EvtPatches.hh"
22 : #include <iostream>
23 : #include <math.h>
24 : #include "EvtGenBase/EvtComplex.hh"
25 : using std::ostream;
26 :
27 :
28 : ostream& operator<<(ostream& s, const EvtComplex& c){
29 :
30 0 : s<<"("<<c._rpart<<","<<c._ipart<<")";
31 0 : return s;
32 :
33 : }
34 :
35 : EvtComplex& EvtComplex::operator*=(EvtComplex c){
36 :
37 0 : double r=_rpart*c._rpart-_ipart*c._ipart;
38 0 : double i=_rpart*c._ipart+_ipart*c._rpart;
39 :
40 0 : _rpart=r;
41 0 : _ipart=i;
42 :
43 0 : return *this;
44 :
45 : }
46 :
47 : EvtComplex& EvtComplex::operator/=(EvtComplex c){
48 :
49 0 : double inv=1.0/(c._rpart*c._rpart+c._ipart*c._ipart);
50 :
51 0 : double r=inv*(_rpart*c._rpart+_ipart*c._ipart);
52 0 : double i=inv*(_rpart*c._ipart-_ipart*c._rpart);
53 :
54 0 : _rpart=r;
55 0 : _ipart=i;
56 :
57 0 : return *this;
58 :
59 : }
60 :
61 :
62 :
63 :
|