/***********************************************************************
qcomplexnumber.cpp - Source file for QComplexNumber
Template class for handling complex numbers with a real and imaginary
part.
************************************************************************
This file is part of QRealFourier.
QRealFourier is free software: you can redistribute it and/or modify it
under the terms of the Lesser GNU General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Foobar is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public
License for more details.
You should have received a copy of the Lesser GNU General Public License
along with Foobar. If not, see .
************************************************************************
Copyright © 2012 - 2013 Christoph Stallmann, University of Pretoria
Developer: Christoph Stallmann
University of Pretoria
Department of Computer Science
http://www.visore.org
http://sourceforge.net/projects/qrealfourier
http://github.com/visore/QRealFourier
qrealfourier@visore.org
qrealfourier@gmail.com
***********************************************************************/
#include "qcomplexnumber.h"
template
QComplexNumber::QComplexNumber()
{
mReal = 0;
mImaginary = 0;
}
template
QComplexNumber::QComplexNumber(T real, T imaginary)
{
mReal = real;
mImaginary = imaginary;
}
template
void QComplexNumber::setReal(T real)
{
mReal = real;
}
template
void QComplexNumber::setImaginary(T imaginary)
{
mImaginary = imaginary;
}
template
void QComplexNumber::set(T real, T imaginary)
{
mReal = real;
mImaginary = imaginary;
}
template
void QComplexNumber::set(QComplexNumber complex)
{
mReal = complex.real();
mImaginary = complex.imaginary();
}
template
T QComplexNumber::real()
{
return mReal;
}
template
T QComplexNumber::imaginary()
{
return mImaginary;
}
template
QComplexNumber& QComplexNumber::operator+=(const QComplexNumber &number)
{
mReal += number.mReal;
mImaginary += number.mImaginary;
return *this;
}
template
QComplexNumber& QComplexNumber::operator-=(const QComplexNumber &number)
{
mReal -= number.mReal;
mImaginary -= number.mImaginary;
return *this;
}
template
QComplexNumber& QComplexNumber::operator/=(const QComplexNumber &number)
{
mReal /= number.mReal;
mImaginary /= number.mImaginary;
return *this;
}
template
QComplexNumber& QComplexNumber::operator*=(const QComplexNumber &number)
{
mReal *= number.mReal;
mImaginary *= number.mImaginary;
return *this;
}
template
QComplexNumber& QComplexNumber::operator/=(const T &value)
{
mReal /= value;
mImaginary /= value;
return *this;
}
template
QComplexNumber& QComplexNumber::operator*=(const T &value)
{
mReal *= value;
mImaginary *= value;
return *this;
}
template class QComplexNumber;
template class QComplexNumber;
template class QComplexNumber;
template class QComplexNumber;
template class QComplexNumber;