/** * Copyright 2007 DFKI GmbH. * All Rights Reserved. Use is subject to license terms. * * This file is part of MARY TTS. * * MARY TTS is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, version 3 of the License. * * This program 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 * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ package marytts.util.math; /** * A complex number: real+sqrt(-1).imag * * @author Oytun Türk * */ public class ComplexNumber { public float real; public float imag; public ComplexNumber() { } public ComplexNumber(ComplexNumber c) { this.real = c.real; this.imag = c.imag; } public ComplexNumber(float realIn, float imagIn) { this.real = realIn; this.imag = imagIn; } public ComplexNumber(double realIn, double imagIn) { this.real = (float) realIn; this.imag = (float) imagIn; } @Override public boolean equals(Object other) { if (!(other instanceof ComplexNumber)) { return false; } ComplexNumber cn = (ComplexNumber) other; if (real != cn.real) return false; if (imag != cn.imag) return false; return true; } public String toString() { String str; // if (Math.abs(real)>1e-10 || Math.abs(imag)>1e-10) // { if (imag >= 0.0) str = String.valueOf(real) + "+i" + String.valueOf(Math.abs(imag)); else str = String.valueOf(real) + "-i" + String.valueOf(Math.abs(imag)); // } // else // str = "0"; return str; } }