summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-sheet/sheet.cpp
Unidiff
Diffstat (limited to 'noncore/apps/opie-sheet/sheet.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/opie-sheet/sheet.cpp122
1 files changed, 85 insertions, 37 deletions
diff --git a/noncore/apps/opie-sheet/sheet.cpp b/noncore/apps/opie-sheet/sheet.cpp
index 88847da..477c982 100644
--- a/noncore/apps/opie-sheet/sheet.cpp
+++ b/noncore/apps/opie-sheet/sheet.cpp
@@ -1,9 +1,28 @@
1/*************************************************************************** 1/*
2 * * 2 =. This file is part of the Opie Project
3 * This program is free software; you can redistribute it and/or modify * 3 .=l. Copyright (C) 2004 Opie Developer Team <opie-devel@handhelds.org>
4 * it under the terms of the GNU General Public License as published by * 4 .>+-=
5 * the Free Software Foundation; either version 2 of the License, or * 5 _;:, .> :=|. This program is free software; you can
6 * (at your option) any later version. * 6.> <`_, > . <= redistribute it and/or modify it under
7 * * 7:`=1 )Y*s>-.-- : the terms of the GNU General Public
8 ***************************************************************************/ 8.="- .-=="i, .._ License as published by the Free Software
9 - . .-<_> .<> Foundation; either version 2 of the License,
10 ._= =} : or (at your option) any later version.
11 .%`+i> _;_.
12 .i_,=:_. -<s. This program is distributed in the hope that
13 + . -:. = it will be useful, but WITHOUT ANY WARRANTY;
14 : .. .:, . . . without even the implied warranty of
15 =_ + =;=|` MERCHANTABILITY or FITNESS FOR A
16 _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU
17..}^=.= = ; Library General Public License for more
18++= -. .` .: details.
19 : = ...= . :.=-
20 -. .:....=;==+<; You should have received a copy of the GNU
21 -_. . . )=. = Library General Public License along with
22 -- :-=` this library; see the file COPYING.LIB.
23 If not, write to the Free Software Foundation,
24 Inc., 59 Temple Place - Suite 330,
25 Boston, MA 02111-1307, USA.
26
27*/
9 28
@@ -16,3 +35,6 @@
16 35
36/* QT */
17#include <qmessagebox.h> 37#include <qmessagebox.h>
38
39/* STD */
18#include <math.h> 40#include <math.h>
@@ -50,4 +72,3 @@ Sheet::Sheet(int numRows, int numCols, QWidget *parent)
50Sheet::~Sheet() 72Sheet::~Sheet()
51{ 73{}
52}
53 74
@@ -69,3 +90,4 @@ void Sheet::slotCellSelected(int row, int col)
69 emit currentDataChanged(cellData->data); 90 emit currentDataChanged(cellData->data);
70 }else 91 }
92 else
71 emit currentDataChanged(""); 93 emit currentDataChanged("");
@@ -230,3 +252,4 @@ double Sheet::BesselI0(double x)
230 ans=1.0+y*(3.5156229+y*(3.0899424+y*(1.2067492 +y*(0.2659732+y*(0.360768e-1+y*0.45813e-2))))); 252 ans=1.0+y*(3.5156229+y*(3.0899424+y*(1.2067492 +y*(0.2659732+y*(0.360768e-1+y*0.45813e-2)))));
231 }else 253 }
254 else
232 { 255 {
@@ -247,3 +270,4 @@ double Sheet::BesselI1(double x)
247 ans=ax*(0.5+y*(0.87890594+y*(0.51498869+y*(0.15084934 +y*(0.2658733e-1+y*(0.301532e-2+y*0.32411e-3)))))); 270 ans=ax*(0.5+y*(0.87890594+y*(0.51498869+y*(0.15084934 +y*(0.2658733e-1+y*(0.301532e-2+y*0.32411e-3))))));
248 } else 271 }
272 else
249 { 273 {
@@ -294,3 +318,4 @@ double Sheet::BesselK0(double x)
294 ans=(-log(x/2.0)*BesselI0(x))+(-0.57721566+y*(0.42278420 +y*(0.23069756+y*(0.3488590e-1+y*(0.262698e-2 +y*(0.10750e-3+y*0.74e-5)))))); 318 ans=(-log(x/2.0)*BesselI0(x))+(-0.57721566+y*(0.42278420 +y*(0.23069756+y*(0.3488590e-1+y*(0.262698e-2 +y*(0.10750e-3+y*0.74e-5))))));
295 } else 319 }
320 else
296 { 321 {
@@ -309,3 +334,4 @@ double Sheet::BesselK1(double x)
309 ans=(log(x/2.0)*BesselI1(x))+(1.0/x)*(1.0+y*(0.15443144 +y*(-0.67278579+y*(-0.18156897+y*(-0.1919402e-1 +y*(-0.110404e-2+y*(-0.4686e-4))))))); 334 ans=(log(x/2.0)*BesselI1(x))+(1.0/x)*(1.0+y*(0.15443144 +y*(-0.67278579+y*(-0.18156897+y*(-0.1919402e-1 +y*(-0.110404e-2+y*(-0.4686e-4)))))));
310 } else 335 }
336 else
311 { 337 {
@@ -344,3 +370,4 @@ double Sheet::BesselJ0(double x)
344 ans=ans1/ans2; 370 ans=ans1/ans2;
345 } else 371 }
372 else
346 { 373 {
@@ -366,3 +393,4 @@ double Sheet::BesselY0(double x)
366 ans=(ans1/ans2)+0.636619772*BesselJ0(x)*log(x); 393 ans=(ans1/ans2)+0.636619772*BesselJ0(x)*log(x);
367 } else 394 }
395 else
368 { 396 {
@@ -388,3 +416,4 @@ double Sheet::BesselJ1(double x)
388 ans=ans1/ans2; 416 ans=ans1/ans2;
389 } else 417 }
418 else
390 { 419 {
@@ -409,3 +438,4 @@ double Sheet::BesselY1(double x)
409 ans=(ans1/ans2)+0.636619772*(BesselJ1(x)*log(x)-1.0/x); 438 ans=(ans1/ans2)+0.636619772*(BesselJ1(x)*log(x)-1.0/x);
410 } else 439 }
440 else
411 { 441 {
@@ -460,3 +490,4 @@ double Sheet::BesselJ(int n, double x)
460 ans=bj; 490 ans=bj;
461 } else 491 }
492 else
462 { 493 {
@@ -520,3 +551,4 @@ double Sheet::GammaP(double a, double x)
520 return gamser; 551 return gamser;
521 }else 552 }
553 else
522 { 554 {
@@ -546,3 +578,4 @@ void Sheet::GammaSeries(double *gamser, double a, double x, double *gln)
546 return; 578 return;
547 } else 579 }
580 else
548 { 581 {
@@ -560,3 +593,4 @@ void Sheet::GammaSeries(double *gamser, double a, double x, double *gln)
560 } 593 }
561 } return; 594 }
595 return;
562 return; 596 return;
@@ -664,3 +698,4 @@ double Sheet::functionSum(const QString &param1, const QString &param2)
664 return result; 698 return result;
665 }else 699 }
700 else
666 { 701 {
@@ -791,3 +826,4 @@ double Sheet::functionSumSQ(const QString &param1, const QString &param2)
791 return result; 826 return result;
792 }else 827 }
828 else
793 { 829 {
@@ -821,3 +857,4 @@ double Sheet::functionMin(const QString &param1, const QString &param2)
821 return min; 857 return min;
822 }else 858 }
859 else
823 { 860 {
@@ -849,3 +886,4 @@ double Sheet::functionMax(const QString &param1, const QString &param2)
849 return max; 886 return max;
850 }else 887 }
888 else
851 { 889 {
@@ -879,3 +917,4 @@ double Sheet::functionCount(const QString &param1, const QString &param2)
879 return divider; 917 return divider;
880 }else 918 }
919 else
881 { 920 {
@@ -994,3 +1033,4 @@ QString Sheet::calculateFunction(const QString &func, const QString &parameters,
994 if(text(row,col).length()==0) val1=1; else val1=0; 1033 if(text(row,col).length()==0) val1=1; else val1=0;
995 }else 1034 }
1035 else
996 { 1036 {
@@ -999,3 +1039,4 @@ QString Sheet::calculateFunction(const QString &func, const QString &parameters,
999 if(text(row,col).length()==0) val1=1; else val1=0; 1039 if(text(row,col).length()==0) val1=1; else val1=0;
1000 }else 1040 }
1041 else
1001 { 1042 {
@@ -1014,3 +1055,4 @@ QString Sheet::calculateFunction(const QString &func, const QString &parameters,
1014 if(ok) val1=1; else val1=0; 1055 if(ok) val1=1; else val1=0;
1015 }else 1056 }
1057 else
1016 { 1058 {
@@ -1020,3 +1062,4 @@ QString Sheet::calculateFunction(const QString &func, const QString &parameters,
1020 if(ok) val1=1; else val1=0; 1062 if(ok) val1=1; else val1=0;
1021 }else 1063 }
1064 else
1022 { 1065 {
@@ -1391,3 +1434,4 @@ QString Sheet::calculateFunction(const QString &func, const QString &parameters,
1391 return QString(s1); 1434 return QString(s1);
1392 }else 1435 }
1436 else
1393 { 1437 {
@@ -1554,3 +1598,4 @@ QString Sheet::calculateFunction(const QString &func, const QString &parameters,
1554 return QString::number(GammaQ(floor(val1)+1, val2)); 1598 return QString::number(GammaQ(floor(val1)+1, val2));
1555 }else 1599 }
1600 else
1556 { 1601 {
@@ -1568,3 +1613,4 @@ QString Sheet::calculateFunction(const QString &func, const QString &parameters,
1568 return QString::number(GammaP(val2/2.0,val1*val1/2.0)); 1613 return QString::number(GammaP(val2/2.0,val1*val1/2.0));
1569 } else 1614 }
1615 else
1570 { 1616 {
@@ -1584,3 +1630,4 @@ QString Sheet::calculateFunction(const QString &func, const QString &parameters,
1584 return QString::number(GammaP(val2/2.0,val1/2.0)); 1630 return QString::number(GammaP(val2/2.0,val1/2.0));
1585 } else 1631 }
1632 else
1586 { 1633 {
@@ -2387,3 +2434,4 @@ void Expression::GetNext()
2387 }//else if 2434 }//else if
2388};//end function 2435}
2436;//end function
2389 2437