diff options
Diffstat (limited to 'graphics/epix/pairs.cc')
-rw-r--r-- | graphics/epix/pairs.cc | 158 |
1 files changed, 0 insertions, 158 deletions
diff --git a/graphics/epix/pairs.cc b/graphics/epix/pairs.cc deleted file mode 100644 index a2cf174825..0000000000 --- a/graphics/epix/pairs.cc +++ /dev/null @@ -1,158 +0,0 @@ -/* - * pairs.cc -- ePiX pair:: class and mathematical operators - * - * This file is part of ePiX, a C++ library for creating high-quality - * figures in LaTeX - * - * Version 1.1.10 - * Last Change: August 04, 2007 - */ - -/* - * Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 - * Andrew D. Hwang <rot 13 nujnat at zngupf dot ubylpebff dot rqh> - * Department of Mathematics and Computer Science - * College of the Holy Cross - * Worcester, MA, 01610-2395, USA - */ - -/* - * ePiX is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * ePiX 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 General Public - * License for more details. - * - * You should have received a copy of the GNU General Public License - * along with ePiX; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#include <cmath> - -#include "constants.h" -#include "triples.h" -#include "pairs.h" - -namespace ePiX { - pair::pair(const P& arg) - { - m_x1 = arg.x1(); - m_x2 = arg.x2(); - } - - // unary increment operators - pair& pair::operator += (const pair& arg) - { - m_x1 += arg.m_x1; - m_x2 += arg.m_x2; - - return *this; - } - - pair& pair::operator -= (const pair& arg) - { - m_x1 -= arg.m_x1; - m_x2 -= arg.m_x2; - - return *this; - } - - pair& pair::operator *= (double c) - { - m_x1 *= c; - m_x2 *= c; - - return *this; - } - - // complex multiplication and division - pair& pair::operator *= (const pair& arg) - { - double temp(m_x1); - m_x1 = temp * arg.m_x1 - m_x2 * arg.m_x2; - m_x2 = temp * arg.m_x2 + m_x2 * arg.m_x1; - - return *this; - } - - pair& pair::operator /= (const pair& arg) - { - double denom = (arg.m_x1)*(arg.m_x1)+(arg.m_x2)*(arg.m_x2); - - double temp(m_x1); - m_x1 = (temp * arg.m_x1 + m_x2 * arg.m_x2)/denom; - m_x2 = (m_x2 * arg.m_x1 - temp * arg.m_x2)/denom; - - return *this; - } - - bool pair::operator== (const pair& u) const - { - return ( fabs(m_x1-u.m_x1) < EPIX_EPSILON - && fabs(m_x2-u.m_x2) < EPIX_EPSILON ); - } - - bool pair::operator!= (const pair& u) const - { - return !((*this) == u); - } - - // non-member functions - pair operator- (pair u) - { - return u *= -1; - } - - pair operator+ (pair u, const pair& v) - { - return u += v; - } - - pair operator- (pair u, const pair& v) - { - return u -= v; - } - - pair operator* (double c, pair u) - { - return u *= c; - } - - // complex arithmetic - pair J(pair p) - { - return p *= pair(0,1); - } - - pair operator* (pair u, const pair& v) - { - return u *= v; - } - - pair operator/ (pair u, const pair& v) - { - return u /= v; - } - - // dot product - double operator| (const pair& u, const pair& v) - { - return u.x1()*v.x1() + u.x2()*v.x2(); - } - - double norm (const pair& u) - { - return sqrt(u|u); - } - - // componentwise product (a,b)&(x,y)=(ax,by) - pair operator& (const pair& u, const pair& v) - { - return pair(u.x1()*v.x1(), u.x2()*v.x2()); - } - -} // end of namespace |