Hello community, here is the log from the commit of package kcalc for openSUSE:Factory checked in at 2013-07-08 07:31:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kcalc (Old) and /work/SRC/openSUSE:Factory/.kcalc.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kcalc" Changes: -------- --- /work/SRC/openSUSE:Factory/kcalc/kcalc.changes 2013-06-11 09:28:56.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.kcalc.new/kcalc.changes 2013-07-08 07:31:49.000000000 +0200 @@ -1,0 +2,14 @@ +Thu Jun 27 18:23:11 UTC 2013 - tittiatc...@gmail.com + +- Update to 4.10.90 + * KDE 4.11 Beta 1 release + * See http://www.kde.org/announcements/announce-4.11-beta2.php + +------------------------------------------------------------------- +Thu Jun 13 19:31:34 UTC 2013 - tittiatc...@gmail.com + +- Update to 4.10.80 + * KDE 4.11 Beta 1 release + * See http://www.kde.org/announcements/announce-4.11-beta1.php + +------------------------------------------------------------------- Old: ---- kcalc-4.10.4.tar.xz New: ---- kcalc-4.10.90.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kcalc.spec ++++++ --- /var/tmp/diff_new_pack.rjT9uD/_old 2013-07-08 07:31:50.000000000 +0200 +++ /var/tmp/diff_new_pack.rjT9uD/_new 2013-07-08 07:31:50.000000000 +0200 @@ -35,7 +35,7 @@ License: GPL-2.0+ Group: Productivity/Scientific/Math Url: http://www.kde.org -Version: 4.10.4 +Version: 4.10.90 Release: 0 Source0: %{name}-%{version}.tar.xz BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ kcalc-4.10.4.tar.xz -> kcalc-4.10.90.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalc-4.10.4/bitbutton.h new/kcalc-4.10.90/bitbutton.h --- old/kcalc-4.10.4/bitbutton.h 2013-05-28 21:30:01.000000000 +0200 +++ new/kcalc-4.10.90/bitbutton.h 2013-06-10 20:53:42.000000000 +0200 @@ -26,6 +26,7 @@ class BitButton : public QAbstractButton { Q_OBJECT + public: explicit BitButton(QWidget *parent = 0); bool isOn() const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalc-4.10.4/doc/commands.docbook new/kcalc-4.10.90/doc/commands.docbook --- old/kcalc-4.10.4/doc/commands.docbook 2013-05-28 21:30:01.000000000 +0200 +++ new/kcalc-4.10.90/doc/commands.docbook 2013-06-10 20:53:42.000000000 +0200 @@ -2,99 +2,10 @@ <title>Command Reference</title> -<sect1 id="filemenu"> -<title>The File Menu</title> -<para> -<variablelist> - -<varlistentry> -<term><menuchoice> -<shortcut> -<keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo> -</shortcut> -<guimenu>File</guimenu> -<guimenuitem>Quit</guimenuitem> -</menuchoice></term> -<listitem><para><action>Quit</action> &kcalc;.</para></listitem> -</varlistentry> -</variablelist> -</para> - -</sect1> - -<sect1 id="editmenu"> -<title>The Edit Menu</title> -<para> -<variablelist> - -<varlistentry> -<term><menuchoice> -<shortcut> -<keycombo action="simul">&Ctrl;<keycap>Z</keycap></keycombo> -</shortcut> -<guimenu>Edit</guimenu> -<guimenuitem>Undo</guimenuitem> -</menuchoice></term> -<listitem><para><action>Go back in the result -stack.</action></para></listitem> -</varlistentry> - -<varlistentry> -<term><menuchoice> -<shortcut> -<keycombo action="simul">&Ctrl;&Shift;<keycap>Z</keycap></keycombo> -</shortcut> -<guimenu>Edit</guimenu> -<guimenuitem>Redo</guimenuitem> -</menuchoice></term> -<listitem><para><action>Go forward in the result -stack.</action> -</para></listitem> -</varlistentry> - -<varlistentry> -<term><menuchoice> -<shortcut> -<keycombo action="simul">&Ctrl;<keycap>X</keycap></keycombo> -</shortcut> -<guimenu>Edit</guimenu> -<guimenuitem>Cut</guimenuitem> -</menuchoice></term> -<listitem><para><action>Delete the displayed result and copy it to the -clipboard.</action></para></listitem> -</varlistentry> - -<varlistentry> -<term><menuchoice> -<shortcut> -<keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo> -</shortcut> -<guimenu>Edit</guimenu> -<guimenuitem>Copy</guimenuitem> -</menuchoice></term> -<listitem><para><action>Copy the displayed result to the -clipboard.</action></para></listitem> -</varlistentry> +<sect1 id="menus"> +<title>Menu Items</title> -<varlistentry> -<term><menuchoice> -<shortcut> -<keycombo action="simul">&Ctrl;<keycap>V</keycap></keycombo> -</shortcut> -<guimenu>Edit</guimenu> -<guimenuitem>Paste</guimenuitem> -</menuchoice></term> -<listitem><para><action>Insert the cut or copied result in the -display.</action></para></listitem> -</varlistentry> - -</variablelist> -</para> -</sect1> - -<sect1 id="viewmenu"> -<title>The Constants Menu</title> -<para> + <para>A brief overview of some special menu items in &kcalc;:</para> <variablelist> <varlistentry> @@ -145,14 +56,6 @@ </para></listitem> </varlistentry> -</variablelist> -</para> -</sect1> - -<sect1 id="settingsmenu"> -<title>The Settings Menu</title> -<para><variablelist> - <varlistentry> <term><menuchoice> <guimenu>Settings</guimenu> @@ -211,33 +114,15 @@ </para></listitem> </varlistentry> -<varlistentry> -<term><menuchoice> -<guimenu>Settings</guimenu> -<guimenuitem>Configure Shortcuts...</guimenuitem> -</menuchoice></term> -<listitem><para><action>Configure the keyboard shortcuts used by &kcalc;. -</action> -</para></listitem> -</varlistentry> - -<varlistentry> -<term><menuchoice> -<guimenu>Settings</guimenu> -<guimenuitem>Configure &kcalc;...</guimenuitem> -</menuchoice></term> -<listitem><para><action>Display</action> the &kcalc; settings dialog. -</para></listitem> -</varlistentry> - </variablelist> -</para> -</sect1> -<sect1 id="helpmenu"> -<title>The Help Menu</title> +<para> +Additionally &kcalc; has the common &kde; <guimenu>File</guimenu>, <guimenu>Edit</guimenu>, +<guimenu>Settings</guimenu> and <guimenu>Help</guimenu> menu items, for more information +read the sections about the <ulink url="help:/fundamentals/ui.html#menus">Menus</ulink> +in the &kde; Fundamentals. -&help.menu.documentation; +</para> </sect1> Files old/kcalc-4.10.4/doc/index.cache.bz2 and new/kcalc-4.10.90/doc/index.cache.bz2 differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalc-4.10.4/doc/index.docbook new/kcalc-4.10.90/doc/index.docbook --- old/kcalc-4.10.4/doc/index.docbook 2013-05-28 21:30:01.000000000 +0200 +++ new/kcalc-4.10.90/doc/index.docbook 2013-06-10 20:53:42.000000000 +0200 @@ -37,10 +37,12 @@ <legalnotice>&FDLNotice;</legalnotice> -<date>2010-05-13</date> -<releaseinfo>2.7 (&kde; 4.5)</releaseinfo> +<date>2013-05-24</date> +<releaseinfo>2.13 (&kde; 4.11)</releaseinfo> -<abstract><para>&kcalc; is a scientific calculator for &kde;</para></abstract> +<abstract><para>&kcalc; is a calculator for &kde;. In the simple mode it can +be used for basic arithmetic operations, but provides advanced modes for scientific, +statistical and numeral system calculations.</para></abstract> <keywordset> <keyword>KDE</keyword> @@ -52,8 +54,6 @@ <chapter id="introduction"> <title>Introduction</title> -<para>This document describes &kcalc; version 2.7.</para> - <para>&kcalc; offers many more mathematical functions than meet the eye on a first glance. Please study the section on keyboard accelerators and modes in this handbook to learn more about the many functions @@ -79,8 +79,8 @@ <para>You can configure &kcalc;'s display colors and font.</para> </listitem> <listitem> -<para>You can configure &kcalc;'s precision and the number -of digits after the period.</para> +<para>You can configure &kcalc;'s precision, the number of displayed digits and the number +of digits after the period in the settings dialog.</para> </listitem> <listitem> <para> &kcalc; offers a great number of useful <link linkend="key-accels"> @@ -167,8 +167,8 @@ <varlistentry> <term>Button Layout</term> <listitem> -<para>To give easy access to all the functions in &kcalc;, many keys have a second layout. Click -on <guibutton>&Shift;</guibutton> or press the shortcut <keycap>I</keycap> to make +<para>To give easy access to all the functions in advanced modes in &kcalc;, many keys have a second layout. Click +on <guibutton>&Shift;</guibutton> or press the shortcut <keycombo action="simul">&Ctrl;<keycap>2</keycap></keycombo> to make the second layout of the buttons visible.</para> </listitem> </varlistentry> @@ -205,32 +205,78 @@ <row><entry><guibutton>Sin</guibutton></entry> <entry>Compute the sine</entry></row> -<row><entry><guibutton>&Shift;</guibutton> <guibutton>Sin</guibutton></entry> +<row><entry>&Shift; <guibutton>Sin</guibutton> or <guibutton>Asin</guibutton></entry> <entry>Compute the inverse sine</entry></row> <row><entry><guibutton>Cos</guibutton></entry> <entry>Compute the cosine</entry></row> -<row><entry><guibutton>&Shift;</guibutton> <guibutton>Cos</guibutton></entry> +<row><entry>&Shift; <guibutton>Cos</guibutton> or <guibutton>Acos</guibutton></entry> <entry>Compute the inverse cosine</entry></row> <row><entry><guibutton>Tan</guibutton></entry> <entry>Compute the tangent</entry></row> -<row><entry><guibutton>&Shift;</guibutton> <guibutton>Tan</guibutton></entry> +<row><entry>&Shift; <guibutton>Tan</guibutton> or <guibutton>Atan</guibutton></entry> <entry>Compute the inverse tangent</entry></row> <row><entry><guibutton>Log</guibutton></entry> <entry>Compute the Log base 10</entry></row> -<row><entry><guibutton>&Shift;</guibutton> <guibutton>Log</guibutton></entry> +<row><entry>&Shift; <guibutton>Log</guibutton> or 10<superscript>x</superscript></entry> <entry>Compute 10 to the power of x</entry></row> <row><entry><guibutton>Ln</guibutton></entry> <entry>Compute the natural logarithm. That is the log to base e</entry></row> -<row><entry><guibutton>&Shift;</guibutton> <guibutton>Ln</guibutton></entry> -<entry>Compute e to the power of x</entry></row> +<row><entry>&Shift; <guibutton>Ln</guibutton> or e<superscript>x</superscript></entry> +<entry>Compute e (the base of the natural logarithm) to the power of x</entry></row> + +</tbody></tgroup></informaltable> + +<para>The second column has buttons for algebraic functions:</para> + +<informaltable><tgroup cols="2"> +<thead> +<row><entry>Buttons</entry> +<entry>Function</entry></row> +</thead> +<tbody> +<row><entry><guibutton>Mod</guibutton></entry> +<entry>Compute the remainder in Euclidean division</entry></row> + +<row><entry><guibutton>&Shift;</guibutton> <guibutton>Mod</guibutton> or <guibutton>IntDiv</guibutton></entry> +<entry>Integer division (integer part of the quotient)</entry></row> + +<row><entry><guibutton>1/x</guibutton></entry> +<entry>Compute the reciprocal for a number</entry></row> + +<row><entry><guibutton>&Shift;</guibutton> <guibutton>1/x</guibutton> or <guibutton>nCm</guibutton></entry> +<entry>Compute the number of distinct second-operand-element subsets of it that can be formed for any set containing first operand elements (binomial coefficient)</entry></row> + +<row><entry><guibutton>x!</guibutton></entry> +<entry>Compute the product of all positive integers less than or equal to the current integer operand (factorial)</entry></row> + +<row><entry><guibutton>x²</guibutton></entry> +<entry>Compute the square of x</entry></row> + + <row><entry><guibutton>&Shift;</guibutton> <guibutton>x²</guibutton> or <guibutton>√x</guibutton></entry> +<entry>Compute the square root of x</entry></row> + +<row><entry><guibutton>xʸ</guibutton></entry> +<entry>x power y</entry></row> + +<row><entry>&Shift; x<superscript>y</superscript> or x<superscript>1/y</superscript></entry> +<entry>x power 1/y</entry></row> + +<row><entry><guibutton>x³</guibutton></entry> +<entry>Computes the third (cubic) power of x</entry></row> + +<row><entry><guibutton>&Shift;</guibutton> <guibutton>x³</guibutton> or <guibutton>∛x</guibutton></entry> +<entry>Computes the third (cubic) root of x</entry></row> + +<row><entry><guibutton>x·10ʸ</guibutton></entry> +<entry>Computes the product of the first operand and decimal exponent of the second operand</entry></row> </tbody></tgroup></informaltable> @@ -260,19 +306,19 @@ <row><entry><guibutton>N</guibutton></entry> <entry>Recall the number of data items entered</entry></row> -<row><entry><guibutton>&Shift;</guibutton> <guibutton>N</guibutton></entry> +<row><entry><guibutton>&Shift;</guibutton> <guibutton>N</guibutton> or <guibutton>&Sgr;x</guibutton></entry> <entry>Display the sum of all data items entered</entry></row> <row><entry><guibutton>Mea</guibutton></entry> <entry>Display the mean of the data items entered</entry></row> -<row><entry><guibutton>&Shift;</guibutton> <guibutton>Mea</guibutton></entry> +<row><entry><guibutton>&Shift;</guibutton> <guibutton>Mea</guibutton> or <guibutton>&Sgr;x²</guibutton></entry> <entry>Display the sum of the square of all data items entered</entry></row> -<row><entry><guibutton>Std</guibutton></entry> +<row><entry>&sgr;<subscript>N</subscript></entry> <entry>Display the standard deviation (n)</entry></row> -<row><entry><guibutton>&Shift;</guibutton> <guibutton>Std</guibutton></entry> +<row><entry><guibutton>&Shift;</guibutton> &sgr;<subscript>N</subscript> or &sgr;<subscript>N-1</subscript> </entry> <entry>Display the population standard deviation (n-1)</entry></row> <row><entry><guibutton>Med</guibutton></entry> @@ -281,7 +327,7 @@ <row><entry><guibutton>Dat</guibutton></entry> <entry>Enter a data item</entry></row> -<row><entry><guibutton>&Shift;</guibutton> <guibutton>Dat</guibutton></entry> +<row><entry><guibutton>&Shift;</guibutton> <guibutton>Dat</guibutton> or <guibutton>CDat</guibutton></entry> <entry>Clear last data item entered</entry></row> <row><entry><guibutton>CSt</guibutton></entry> @@ -289,6 +335,8 @@ </tbody></tgroup></informaltable> +<para>The next two columns hold the buttons with trigonometric and algebraic functions described in the +<link linkend="science-mode">Science</link> mode section.</para> </sect1> @@ -302,6 +350,8 @@ use the letters <guibutton>A</guibutton> to <guibutton>F</guibutton> for numbers larger than 9. If you would like to see this number in binary, just select <guilabel>Bin</guilabel> from the radio buttons.</para> + <para>Binary, octal and hexadecimal numbers can be displayed as groups of digits separated by whitespaces. Such grouping can improve readability of numbers. For example, hexadecimal number <emphasis>AF1C42</emphasis> can be displayed as <emphasis>AF 1C 42</emphasis> with separation every second digit. Grouping can be turned off or tweaked. Select <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure &kcalc;...</guimenuitem></menuchoice> to bring up the configuration dialog and change the setting on <guilabel>General</guilabel> page as appropriate.</para> + <para>You may want to select <guimenu>Show Bit Edit</guimenu> from the <guimenu>Settings</guimenu> menu to see selected bits.</para> <para>There are logic operators available in this mode. These operators are: @@ -319,12 +369,25 @@ <row><entry><guibutton>XOR</guibutton></entry> <entry>Two numbers are logically exclusive ored</entry></row> -</tbody></tgroup></informaltable> +<row><entry><guibutton>Lsh</guibutton></entry> +<entry>Left shift the value</entry></row> +<row><entry><guibutton>Rsh</guibutton></entry> +<entry>Right shift the value</entry></row> + +<row><entry><guibutton>Cmp</guibutton></entry> +<entry>Perform a 1's complement</entry></row> + +</tbody></tgroup></informaltable> </para> -</sect1> +<para>The second column holds the buttons with algebraic functions described in the +<link linkend="science-mode">Science</link> mode section.</para> +<para>The third column with the buttons <guibutton>A</guibutton> to <guibutton>F</guibutton> is +enabled only in <guilabel>Hex</guilabel> mode. +</para> +</sect1> <!-- end of MODES --> @@ -385,6 +448,8 @@ <guimenu>Settings</guimenu> of the menu bar. They are available in <guilabel>Science mode</guilabel> and <guilabel>Statistics mode</guilabel></para> +<para>To see the value stored in each constant hover the button with the mouse pointer.</para> + <para>To store the number shown in the &kcalc; display in one of the six constants, first press <guibutton>&Shift;</guibutton> followed by the desired button key <guibutton>C1</guibutton> up to @@ -478,6 +543,10 @@ <entry><guibutton>x!</guibutton></entry> <entry>Factorial</entry></row> +<row><entry><keysym>E</keysym></entry> +<entry>x10<superscript>y</superscript></entry> +<entry>Exponent</entry></row> + <row><entry><keysym><</keysym></entry> <entry><guibutton>Lsh</guibutton></entry> <entry>Left shift</entry></row> @@ -518,6 +587,10 @@ <entry><guibutton>=</guibutton></entry> <entry></entry></row> +<row><entry>&Backspace;</entry> +<entry><guibutton><=</guibutton></entry> +<entry>Delete last number</entry></row> + <row><entry><keycap>PgUp</keycap></entry> <entry><guibutton>C</guibutton></entry> <entry>Clear</entry></row> @@ -542,7 +615,7 @@ <entry><guibutton>AC</guibutton></entry> <entry>Clear all</entry></row> -<row><entry>&Shift;+<keycap>:</keycap></entry> +<row><entry><keycap>:</keycap></entry> <entry><guibutton>Mod</guibutton></entry> <entry>remainder of dividing</entry></row> @@ -785,45 +858,6 @@ </sect1> -<sect1 id="enable-long-double-precision"> -<title>How to enable long double precision for &kcalc;</title> - -<para>If your machine supports the C data type <type>long double</type> -and if you have a working libc you can enable <type>long double</type> -precision for &kcalc;.</para> - -<para>Here is what to do:</para> - -<procedure> -<step> -<para> Check <filename>config-kcalc.h</filename> and see whether -HAVE_LONG_DOUBLE is defined, &ie; you should be able to locate a -line saying:</para> - -<screen>#define HAVE_LONG_DOUBLE 1</screen> - -<para>If you cannot find such a line your system doesn't support long -double IEEE precision. </para> -</step> -<step> -<para>Edit the files <filename class="headerfile">kcalctype.h</filename>, -<filename>configdlg.cpp</filename>, <filename>kcalc.cpp</filename> and -<filename>kcalc_core.cpp</filename> and remove the lines:</para> - -<screen> -#ifdef HAVE_LONG_DOUBLE -#undef HAVE_LONG_DOUBLE -#endif -</screen> - -</step> -<step> -<para> Recompile &kcalc;. -</para> -</step> -</procedure> - -</sect1> </appendix> </book> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalc-4.10.4/kcalc.cpp new/kcalc-4.10.90/kcalc.cpp --- old/kcalc-4.10.4/kcalc.cpp 2013-05-28 21:30:01.000000000 +0200 +++ new/kcalc-4.10.90/kcalc.cpp 2013-06-10 20:53:42.000000000 +0200 @@ -24,11 +24,7 @@ #include "kcalc.h" -#include <cctype> #include <clocale> -#include <cstdio> -#include <cstdlib> -#include <unistd.h> #include <QApplication> #include <QCursor> @@ -60,13 +56,11 @@ #include <ktoolbar.h> #include <kxmlguifactory.h> -#include "kcalcdisplay.h" +#include "kcalc_bitset.h" #include "kcalc_const_menu.h" -#include "version.h" #include "kcalc_settings.h" -#include "kcalc_bitset.h" - -class QActionGroup; +#include "kcalcdisplay.h" +#include "version.h" namespace { const char description[] = I18N_NOOP("KDE Calculator"); @@ -2288,7 +2282,7 @@ ki18n(description), KAboutData::License_GPL, ki18n( - "© 2008-2012, Evan Teran\n" + "© 2008-2013, Evan Teran\n" "© 2000-2008, The KDE Team\n" "© 2003-2005, Klaus Niederkr" "\xc3\xbc" "ger\n" "© 1996-2000, Bernd Johannes Wuebben"), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalc-4.10.4/kcalc.desktop new/kcalc-4.10.90/kcalc.desktop --- old/kcalc-4.10.4/kcalc.desktop 2013-05-28 21:30:01.000000000 +0200 +++ new/kcalc-4.10.90/kcalc.desktop 2013-06-10 20:53:42.000000000 +0200 @@ -71,7 +71,7 @@ Name[x-test]=xxKCalcxx Name[zh_CN]=KCalc Name[zh_TW]=KDE 計算機 -Exec=kcalc -caption "%c" +Exec=kcalc -caption %c Icon=accessories-calculator X-DocPath=kcalc/index.html GenericName=Scientific Calculator @@ -127,7 +127,7 @@ GenericName[ro]=Calculator științific GenericName[ru]=Калькулятор GenericName[sk]=Vedecká kalkulačka -GenericName[sl]=Znanstveni kalkulator +GenericName[sl]=Znanstveno računalo GenericName[sq]=Makinë Llogaritëse Shkencore GenericName[sr]=Научни калкулатор GenericName[sr@ijekavian]=Научни калкулатор diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalc-4.10.4/kcalc.h new/kcalc-4.10.90/kcalc.h --- old/kcalc-4.10.4/kcalc.h 2013-05-28 21:30:01.000000000 +0200 +++ new/kcalc-4.10.90/kcalc.h 2013-06-10 20:53:42.000000000 +0200 @@ -45,9 +45,6 @@ operation button is pressed, e.g. "core.Plus(display_number)". */ -#include <config-kcalc.h> - -// IMPORTANT this has to come after config-kcalc.h - DF: why? #include "kcalc_core.h" #include "kcalc_button.h" #include "kcalc_const_button.h" @@ -228,12 +225,14 @@ AngleField, MemField }; + enum AngleMode { DegMode = 0, RadMode, GradMode }; - enum BaseMode { + + enum BaseMode { BinMode = 2, OctMode = 8, DecMode = 10, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalc-4.10.4/kcalc_bitset.cpp new/kcalc-4.10.90/kcalc_bitset.cpp --- old/kcalc-4.10.4/kcalc_bitset.cpp 2013-05-28 21:30:01.000000000 +0200 +++ new/kcalc-4.10.90/kcalc_bitset.cpp 2013-06-10 20:53:42.000000000 +0200 @@ -22,9 +22,10 @@ #include "kcalc_bitset.h" #include "bitbutton.h" +#include <QButtonGroup> #include <QGridLayout> -#include <QLabel> #include <QHBoxLayout> +#include <QLabel> #include <QPainter> #include "kcalc_bitset.moc" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalc-4.10.4/kcalc_bitset.h new/kcalc-4.10.90/kcalc_bitset.h --- old/kcalc-4.10.4/kcalc_bitset.h 2013-05-28 21:30:01.000000000 +0200 +++ new/kcalc-4.10.90/kcalc_bitset.h 2013-06-10 20:53:42.000000000 +0200 @@ -23,8 +23,8 @@ #define KCALC_BITSET_H_ #include <QFrame> -#include <QAbstractButton> -#include <QButtonGroup> + +class QButtonGroup; class KCalcBitset : public QFrame { Q_OBJECT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalc-4.10.4/kcalc_button.h new/kcalc-4.10.90/kcalc_button.h --- old/kcalc-4.10.4/kcalc_button.h 2013-05-28 21:30:01.000000000 +0200 +++ new/kcalc-4.10.90/kcalc_button.h 2013-06-10 20:53:42.000000000 +0200 @@ -33,27 +33,30 @@ // label is displayed. -enum ButtonModeFlags {ModeNormal = 0, ModeShift = 1, ModeHyperbolic = 2}; +enum ButtonModeFlags { + ModeNormal = 0, + ModeShift = 1, + ModeHyperbolic = 2 +}; // Each kcalc button can be in one of several modes. // The following class describes label, tooltip etc. for each mode... -class ButtonMode -{ +class ButtonMode { public: - ButtonMode() {} - ButtonMode(const QString &label, - const QString &tooltip) - : label(label), tooltip(tooltip) { } + ButtonMode() { + } + + ButtonMode(const QString &label, const QString &tooltip) : label(label), tooltip(tooltip) { + } QString label; QString tooltip; }; -class KCalcButton : public KPushButton -{ - Q_OBJECT +class KCalcButton : public KPushButton { + Q_OBJECT public: explicit KCalcButton(QWidget *parent); @@ -80,10 +83,10 @@ void calcSizeHint(); private: - bool show_shortcut_mode_; - ButtonModeFlags mode_flags_; + bool show_shortcut_mode_; + ButtonModeFlags mode_flags_; QMap<ButtonModeFlags, ButtonMode> mode_; - QSize size_; + QSize size_; }; #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalc-4.10.4/kcalc_const_button.h new/kcalc-4.10.90/kcalc_const_button.h --- old/kcalc-4.10.4/kcalc_const_button.h 2013-05-28 21:30:01.000000000 +0200 +++ new/kcalc-4.10.90/kcalc_const_button.h 2013-06-10 20:53:42.000000000 +0200 @@ -22,14 +22,12 @@ #ifndef KCALC_CONST_BUTTON_H_ #define KCALC_CONST_BUTTON_H_ -#include <klocale.h> #include "kcalc_button.h" struct science_constant; -class KCalcConstButton : public KCalcButton -{ +class KCalcConstButton : public KCalcButton { Q_OBJECT public: @@ -56,6 +54,7 @@ private: void initPopupMenu(); +private: int button_num_; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalc-4.10.4/kcalc_const_menu.h new/kcalc-4.10.90/kcalc_const_menu.h --- old/kcalc-4.10.4/kcalc_const_menu.h 2013-05-28 21:30:01.000000000 +0200 +++ new/kcalc-4.10.90/kcalc_const_menu.h 2013-06-10 20:53:42.000000000 +0200 @@ -22,9 +22,8 @@ #ifndef KCALC_CONST_MENU_H_ #define KCALC_CONST_MENU_H_ -#include <QList> #include <QMenu> - +#include <QString> enum ConstantCategory { Mathematics = 1, @@ -59,7 +58,6 @@ private: void init_all(); - public slots: void slotPassSignalThrough(QAction *chosen_const); }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalc-4.10.4/kcalc_core.cpp new/kcalc-4.10.90/kcalc_core.cpp --- old/kcalc-4.10.4/kcalc_core.cpp 2013-05-28 21:30:01.000000000 +0200 +++ new/kcalc-4.10.90/kcalc_core.cpp 2013-06-10 20:53:42.000000000 +0200 @@ -25,20 +25,12 @@ */ #include "kcalc_core.h" -#include <config-kcalc.h> -#include <csignal> #include <kdebug.h> #include <klocale.h> #include <kmessagebox.h> namespace { -void fpe_handler(int fpe_parm) { - Q_UNUSED(fpe_parm); - // display_error = true; - //tmp_number = 0L; -} - KNumber Deg2Rad(const KNumber &x) { return x * (KNumber::Pi() / KNumber(180)); } @@ -179,30 +171,14 @@ CalcEngine::CalcEngine() : percent_mode_(false) { - // - // Basic initialization involves initializing the calcultion - // stack, and setting up the floating point excetion signal - // handler to trap the errors that the code can/has not been - // written to trap. - // -#ifndef Q_OS_WIN - struct sigaction fpe_trap; - - sigemptyset(&fpe_trap.sa_mask); - fpe_trap.sa_handler = &fpe_handler; -#ifdef SA_RESTART - fpe_trap.sa_flags = SA_RESTART; -#endif - sigaction(SIGFPE, &fpe_trap, NULL); -#endif + last_number_ = KNumber::Zero; error_ = false; } -KNumber CalcEngine::lastOutput(bool &error) const -{ - error = error_; - return last_number_; +KNumber CalcEngine::lastOutput(bool &error) const { + error = error_; + return last_number_; } void CalcEngine::ArcCosDeg(const KNumber &input) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalc-4.10.4/kcalc_core.h new/kcalc-4.10.90/kcalc_core.h --- old/kcalc-4.10.4/kcalc_core.h 2013-05-28 21:30:01.000000000 +0200 +++ new/kcalc-4.10.90/kcalc_core.h 2013-06-10 20:53:42.000000000 +0200 @@ -105,6 +105,7 @@ void TangensHyp(const KNumber &input); void Reset(); + private: KStats stats; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalc-4.10.4/kcalcdisplay.h new/kcalc-4.10.90/kcalcdisplay.h --- old/kcalc-4.10.4/kcalcdisplay.h 2013-05-28 21:30:01.000000000 +0200 +++ new/kcalc-4.10.90/kcalcdisplay.h 2013-06-10 20:53:42.000000000 +0200 @@ -50,16 +50,15 @@ */ enum NumBase { - NB_BINARY = 2, - NB_OCTAL = 8, + NB_BINARY = 2, + NB_OCTAL = 8, NB_DECIMAL = 10, - NB_HEX = 16 + NB_HEX = 16 }; -class KCalcDisplay : public QFrame -{ - Q_OBJECT +class KCalcDisplay : public QFrame { + Q_OBJECT public: explicit KCalcDisplay(QWidget *parent = 0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalc-4.10.4/knumber/knumber.cpp new/kcalc-4.10.90/knumber/knumber.cpp --- old/kcalc-4.10.4/knumber/knumber.cpp 2013-05-28 21:30:01.000000000 +0200 +++ new/kcalc-4.10.90/knumber/knumber.cpp 2013-06-25 20:34:28.000000000 +0200 @@ -672,6 +672,17 @@ // Name: //------------------------------------------------------------------------------ KNumber KNumber::pow(const KNumber &x) const { + + // if the LHS is a special then we can use this function + // no matter what, cause the result is a special too + if(!dynamic_cast<detail::knumber_error *>(value_)) { + // number much bigger than this tend to crash GMP with + // an abort + if(x > KNumber(QLatin1String("1000000000"))) { + return PosInfinity; + } + } + KNumber z(*this); z.value_ = z.value_->pow(x.value_); z.simplify(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalc-4.10.4/knumber/tests/knumbertest.cpp new/kcalc-4.10.90/knumber/tests/knumbertest.cpp --- old/kcalc-4.10.4/knumber/tests/knumbertest.cpp 2013-05-28 21:30:01.000000000 +0200 +++ new/kcalc-4.10.90/knumber/tests/knumbertest.cpp 2013-06-10 20:53:42.000000000 +0200 @@ -1,7 +1,7 @@ /* Copyright (C) 2001 - 2013 Evan Teran evan.te...@gmail.com - + Copyright (C) 2003 - 2005 Klaus Niederkrueger knied...@math.uni-koeln.de @@ -45,7 +45,7 @@ void checkResult(const QString &string, const KNumber &result, const QString &desired_string, int desired) { - std::cout + std::cout << "Testing result of: " << qPrintable(string) << " should give " @@ -72,13 +72,13 @@ void checkTruth(const QString &string, bool computation, bool desired_result) { - std::cout - << "Testing truth of: " - << qPrintable(string) - << " should be " - << desired_result - << " and is " - << computation + std::cout + << "Testing truth of: " + << qPrintable(string) + << " should be " + << desired_result + << " and is " + << computation << " ... "; if (computation == desired_result) { @@ -92,7 +92,7 @@ void checkType(const QString &string, int test_arg, int desired) { - std::cout + std::cout << "Testing type of: " << qPrintable(string) << " should give " @@ -547,7 +547,19 @@ checkResult("KNumber::Pi() ^ KNumber::Pi()", KNumber::Pi().pow(KNumber::Pi()), QLatin1String("36.4621596072"), KNumber::TYPE_FLOAT); checkResult("KNumber::Euler() ^ KNumber::Pi()", KNumber::Euler().pow(KNumber::Pi()), QLatin1String("23.1406926328"), KNumber::TYPE_FLOAT); - + + + checkResult("KNumber(2.0) ^ KNumber(0.5)", KNumber(2.0).pow(KNumber(0.5)), QLatin1String("1.41421356237"), KNumber::TYPE_FLOAT); + checkResult("KNumber(2.0) ^ KNumber(-0.5)", KNumber(2.0).pow(KNumber(-0.5)), QLatin1String("0.707106781187"), KNumber::TYPE_FLOAT); + + + checkResult("KNumber(-2.0).exp()", KNumber(-2.0).exp(), QLatin1String("0.135335283237"), KNumber::TYPE_FLOAT); + checkResult("KNumber::Euler() ^ KNumber(-2.0)", KNumber::Euler().pow(KNumber(-2.0)), QLatin1String("0.135335283237"), KNumber::TYPE_FLOAT); + + + checkResult("KNumber(2.0).exp()", KNumber(2.0).exp(), QLatin1String("7.38905609893"), KNumber::TYPE_FLOAT); + checkResult("KNumber::Euler() ^ KNumber(2.0)", KNumber::Euler().pow(KNumber(2.0)), QLatin1String("7.38905609893"), KNumber::TYPE_FLOAT); + // TODO: kinda odd that this ends up being an integer // i guess since my euler constant is only 100 digits, we've exceeded the fractional part checkResult("KNumber::Euler() ^ 1000", KNumber::Euler().pow(KNumber(1000)), QLatin1String("1.97007111402e+434"), KNumber::TYPE_INTEGER); @@ -738,27 +750,27 @@ KNumber::setDefaultFloatPrecision(1000); checkResult("Precision >= 1000: (KNumber(1) + KNumber(\"1e-980\")) - KNumber(1)", (KNumber(1) + KNumber(QLatin1String("1e-980"))) - KNumber(1), QLatin1String("1e-980"), KNumber::TYPE_FLOAT); - + KNumber::setDefaultFloatPrecision(20); checkResult("Precision >= 20: sin(KNumber(30))", sin(KNumber(30) * (KNumber::Pi() / KNumber(180))), QLatin1String("0.5"), KNumber::TYPE_FLOAT); - + } void testingOutput() { KNumber::setDefaultFloatOutput(false); checkResult("Fractional output: KNumber(\"1/4\")", KNumber(QLatin1String("1/4")), QLatin1String("1/4"), KNumber::TYPE_FRACTION); - + KNumber::setDefaultFloatOutput(true); checkResult("Float: KNumber(\"1/4\")", KNumber(QLatin1String("1/4")), QLatin1String("0.25"), KNumber::TYPE_FRACTION); - + KNumber::setDefaultFloatOutput(false); KNumber::setSplitoffIntegerForFractionOutput(true); checkResult("Fractional output: KNumber(\"1/4\")", KNumber(QLatin1String("1/4")), QLatin1String("1/4"), KNumber::TYPE_FRACTION); checkResult("Fractional output: KNumber(\"-1/4\")", KNumber(QLatin1String("-1/4")), QLatin1String("-1/4"), KNumber::TYPE_FRACTION); checkResult("Fractional output: KNumber(\"21/4\")", KNumber(QLatin1String("21/4")), QLatin1String("5 1/4"), KNumber::TYPE_FRACTION); checkResult("Fractional output: KNumber(\"-21/4\")", KNumber(QLatin1String("-21/4")), QLatin1String("-5 1/4"), KNumber::TYPE_FRACTION); - + KNumber::setSplitoffIntegerForFractionOutput(false); checkResult("Fractional output: KNumber(\"1/4\")", KNumber(QLatin1String("1/4")), QLatin1String("1/4"), KNumber::TYPE_FRACTION); checkResult("Fractional output: KNumber(\"-1/4\")", KNumber(QLatin1String("-1/4")), QLatin1String("-1/4"), KNumber::TYPE_FRACTION); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcalc-4.10.4/stats.cpp new/kcalc-4.10.90/stats.cpp --- old/kcalc-4.10.4/stats.cpp 2013-05-28 21:30:01.000000000 +0200 +++ new/kcalc-4.10.90/stats.cpp 2013-06-10 20:53:42.000000000 +0200 @@ -20,7 +20,6 @@ */ #include "stats.h" -#include <kdebug.h> //------------------------------------------------------------------------------ // Name: KStats @@ -49,13 +48,7 @@ // Desc: adds an item to the data set //------------------------------------------------------------------------------ void KStats::enterData(const KNumber &data) { - data_.push_back(data); -#ifdef DEBUG_STATS - kDebug() << "Added " << data.toQString(); - kDebug() << "count" << data_.size(); -#endif - } //------------------------------------------------------------------------------ @@ -66,9 +59,6 @@ if(!data_.isEmpty()) { data_.pop_back(); - #ifdef DEBUG_STATS - kDebug() << "count " << data_.size(); - #endif } } @@ -84,10 +74,6 @@ result += *p; } -#ifdef DEBUG_STATS - kDebug() << "Sum " << result.toQString(); -#endif - return result; } @@ -126,22 +112,24 @@ } //------------------------------------------------------------------------------ -// Name: std_kernel() +// Name: std_kernel // Desc: calculates the STD Kernel of all values in the data set //------------------------------------------------------------------------------ KNumber KStats::std_kernel() { KNumber result = KNumber::Zero; const KNumber mean_value = mean(); - for (QVector<KNumber>::const_iterator p = data_.constBegin(); p != data_.constEnd(); ++p) { - result += (*p - mean_value) * (*p - mean_value); - } + if(mean_value.type() != KNumber::TYPE_ERROR) { + for (QVector<KNumber>::const_iterator p = data_.constBegin(); p != data_.constEnd(); ++p) { + result += (*p - mean_value) * (*p - mean_value); + } + } return result; } //------------------------------------------------------------------------------ -// Name: std_kernel() const +// Name: sum_of_squares // Desc: calculates the SUM of all values in the data set (each squared) //------------------------------------------------------------------------------ KNumber KStats::sum_of_squares() const { @@ -156,7 +144,7 @@ } //------------------------------------------------------------------------------ -// Name: median +// Name: mean // Desc: calculates the MEAN of all values in the data set //------------------------------------------------------------------------------ KNumber KStats::mean() { @@ -170,7 +158,7 @@ } //------------------------------------------------------------------------------ -// Name: median +// Name: std // Desc: calculates the STANDARD DEVIATION of all values in the data set //------------------------------------------------------------------------------ KNumber KStats::std() { @@ -184,7 +172,7 @@ } //------------------------------------------------------------------------------ -// Name: median +// Name: sample_std // Desc: calculates the SAMPLE STANDARD DEVIATION of all values in the data set //------------------------------------------------------------------------------ KNumber KStats::sample_std() { @@ -198,10 +186,6 @@ result = (std_kernel() / KNumber(count() - 1)).sqrt(); -#ifdef DEBUG_STATS - kDebug() << "sample std: " << result.toQString(); -#endif - return result; } -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org