From kstars-devel Fri Jul 23 19:34:55 2010 From: Henry de Valence Date: Fri, 23 Jul 2010 19:34:55 +0000 To: kstars-devel Subject: [Kstars-devel] KDE/kdeedu/kstars/kstars Message-Id: <20100723193455.EE65CAC7E8 () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kstars-devel&m=127991368632621 SVN commit 1153695 by hdevalence: Use a closed form instead of an iterative solution for reducing angles. Note: we don't just use fmod because it does not guarantee a positive remainder. CCMAIL:kstars-devel@kde.org M +1 -4 dms.cpp M +1 -5 ksutils.h --- trunk/KDE/kdeedu/kstars/kstars/dms.cpp #1153694:1153695 @@ -197,10 +197,7 @@ const dms dms::reduce( void ) const { - double a = D; - while (a<0.0) {a += 360.0;} - while (a>=360.0) {a -= 360.0;} - return dms( a ); + return dms( D - 360.0*floor(D/360.0) ); } const QString dms::toDMSString(const bool forceSign) const { --- trunk/KDE/kdeedu/kstars/kstars/ksutils.h #1153694:1153695 @@ -67,11 +67,7 @@ template inline T reduceAngle(T x, T min, T max) { T delta = max - min; - while( x > max ) - x -= delta; - while( x < min ) - x += delta; - return x; + return x - delta*floor( (x-min)/delta ); } } _______________________________________________ Kstars-devel mailing list Kstars-devel@kde.org https://mail.kde.org/mailman/listinfo/kstars-devel