1 //--------------------------------------------------------------------------
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.
8 // Copyright Information: See EvtGen/COPYRIGHT
9 // Copyright (C) 1998 Caltech, UCSB
11 // Module: EvtComplex.cc
13 // Description: EvtComlex.cc
15 // Modification history:
17 // RYD December 5, 1998 Created
19 //------------------------------------------------------------------------
21 #include "EvtGenBase/EvtPatches.hh"
24 #include "EvtGenBase/EvtComplex.hh"
28 ostream& operator<<(ostream& s, const EvtComplex& c){
30 s<<"("<<c._rpart<<","<<c._ipart<<")";
35 EvtComplex& EvtComplex::operator*=(EvtComplex c){
37 double r=_rpart*c._rpart-_ipart*c._ipart;
38 double i=_rpart*c._ipart+_ipart*c._rpart;
47 EvtComplex& EvtComplex::operator/=(EvtComplex c){
49 double inv=1.0/(c._rpart*c._rpart+c._ipart*c._ipart);
51 double r=inv*(_rpart*c._rpart+_ipart*c._ipart);
52 double i=inv*(_rpart*c._ipart-_ipart*c._rpart);