X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fbase%2Frs_math.cpp;h=fe3ba33676475f62a94abf84516308f8636d818d;hb=d774c2655ba2c3657a565f325411144452392277;hp=78c0b9a88e327812e73422951f8ae0fb89c93526;hpb=16ce54abf01ca3032e42a5bb11a4afcf9014dcca;p=architektonas diff --git a/src/base/rs_math.cpp b/src/base/rs_math.cpp index 78c0b9a..fe3ba33 100644 --- a/src/base/rs_math.cpp +++ b/src/base/rs_math.cpp @@ -1,31 +1,23 @@ -/**************************************************************************** -** $Id: rs_math.cpp 1938 2004-12-09 23:09:53Z andrew $ -** -** Copyright (C) 2001-2003 RibbonSoft. All rights reserved. -** -** This file is part of the qcadlib Library project. -** -** This file may be distributed and/or modified under the terms of the -** GNU General Public License version 2 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. -** -** Licensees holding valid qcadlib Professional Edition licenses may use -** this file in accordance with the qcadlib Commercial License -** Agreement provided with the Software. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -** See http://www.ribbonsoft.com for further details. -** -** Contact info@ribbonsoft.com if any conditions of this licensing are -** not clear to you. -** -**********************************************************************/ +// rs_math.cpp +// +// Part of the Architektonas Project +// Originally part of QCad Community Edition by Andrew Mustun +// Extensively rewritten and refactored by James L. Hammons +// (C) 2010 Underground Software +// +// JLH = James L. Hammons +// +// Who When What +// --- ---------- ----------------------------------------------------------- +// JLH 06/01/2010 Added this text. :-) +// #include "rs_math.h" +#include // For test() +#include +#include +#include "fparser.h" #include "rs_debug.h" /** @@ -257,19 +249,12 @@ double RS_Math::eval(const QString & expr, double def) return res; } -/** - * Evaluates a mathematical expression and returns the result. - * If an error occured, ok will be set to false (if ok isn't NULL). - */ -//double RS_Math::eval(const QString& expr, bool* ok); - /** * Evaluates a mathematical expression and returns the result. * If an error occured, ok will be set to false (if ok isn't NULL). */ double RS_Math::eval(const QString & expr, bool * ok) { -#ifndef RS_NO_FPARSER if (expr.isEmpty()) { if (ok != NULL) @@ -309,20 +294,16 @@ double RS_Math::eval(const QString & expr, bool * ok) if (ret >= 0) { - if (ok != NULL) + if (ok) *ok = false; return 0.0; } - if (ok != NULL) + if (ok) *ok = true; return fp.Eval(NULL); -#else - //std::cerr << "RS_Math::eval: No FParser support compiled in.\n"; - return expr.toDouble(); -#endif } /** @@ -376,14 +357,10 @@ QString RS_Math::doubleToString(double value, int prec) { // Remove zeros at the end: while (valStr.at(valStr.length() - 1) == '0') - { valStr.truncate(valStr.length() - 1); - } if (valStr.at(valStr.length() - 1) == '.') - { valStr.truncate(valStr.length() - 1); - } } return valStr;