diff --git a/Classes/PHPExcel/Calculation/Engineering.php b/Classes/PHPExcel/Calculation/Engineering.php index 38782f8f..84dcd388 100644 --- a/Classes/PHPExcel/Calculation/Engineering.php +++ b/Classes/PHPExcel/Calculation/Engineering.php @@ -773,8 +773,8 @@ class PHPExcel_Calculation_Engineering { /** * BESSELI * - * Returns the modified Bessel function, which is equivalent to the Bessel function evaluated for - * purely imaginary arguments + * Returns the modified Bessel function In(x), which is equivalent to the Bessel function evaluated + * for purely imaginary arguments * * Excel Function: * BESSELI(x,ord) @@ -783,14 +783,12 @@ class PHPExcel_Calculation_Engineering { * @category Engineering Functions * @param float $x The value at which to evaluate the function. * If x is nonnumeric, BESSELI returns the #VALUE! error value. - * @param integer $ord The order of the Bessel function. If n is not an integer, it is truncated. + * @param integer $ord The order of the Bessel function. + * If ord is not an integer, it is truncated. * If $ord is nonnumeric, BESSELI returns the #VALUE! error value. * If $ord < 0, BESSELI returns the #NUM! error value. * @return float * - * @TODO Better handling of the approximation method to support the differences between Excel/Gnumeric - * and Open/Libre Office - * */ public static function BESSELI($x, $ord) { $x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x); @@ -827,23 +825,21 @@ class PHPExcel_Calculation_Engineering { /** - * BESSELJ + * BESSELJ * - * Returns the Bessel function + * Returns the Bessel function * - * Excel Function: + * Excel Function: * BESSELJ(x,ord) * - * @access public - * @category Engineering Functions - * @param float $x The value at which to evaluate the function. + * @access public + * @category Engineering Functions + * @param float $x The value at which to evaluate the function. * If x is nonnumeric, BESSELJ returns the #VALUE! error value. - * @param integer $ord The order of the Bessel function. If n is not an integer, it is truncated. + * @param integer $ord The order of the Bessel function. If n is not an integer, it is truncated. * If $ord is nonnumeric, BESSELJ returns the #VALUE! error value. * If $ord < 0, BESSELJ returns the #NUM! error value. - * @return float - * - * @TODO Better handling of the approximation method to support the differences between Excel/Gnumeric and Open/Libre Office + * @return float * */ public static function BESSELJ($x, $ord) { @@ -917,24 +913,22 @@ class PHPExcel_Calculation_Engineering { /** - * BESSELK + * BESSELK * - * Returns the modified Bessel function, which is equivalent to the Bessel functions evaluated - * for purely imaginary arguments. + * Returns the modified Bessel function Kn(x), which is equivalent to the Bessel functions evaluated + * for purely imaginary arguments. * - * Excel Function: + * Excel Function: * BESSELK(x,ord) * - * @access public - * @category Engineering Functions - * @param float $x The value at which to evaluate the function. + * @access public + * @category Engineering Functions + * @param float $x The value at which to evaluate the function. * If x is nonnumeric, BESSELK returns the #VALUE! error value. - * @param integer $ord The order of the Bessel function. If n is not an integer, it is truncated. + * @param integer $ord The order of the Bessel function. If n is not an integer, it is truncated. * If $ord is nonnumeric, BESSELK returns the #VALUE! error value. * If $ord < 0, BESSELK returns the #NUM! error value. - * @return float - * - * @TODO Better handling of the approximation method to support the differences between Excel/Gnumeric and Open/Libre Office + * @return float * */ public static function BESSELK($x, $ord) { @@ -993,13 +987,6 @@ class PHPExcel_Calculation_Engineering { (0.1020426050e6 + $y * (0.3549632885e3 + $y))))); $fRet = $f1 / $f2 + 0.636619772 * ( self::BESSELJ($fNum, 1) * log($fNum) - 1 / $fNum); } else { -// $z = 8.0 / $fNum; -// $y = ($z * $z); -// $xx = $fNum - 2.356194491; -// $f1 = 1 + $y * (0.183105e-2 + $y * (-0.3516396496e-4 + $y * (0.2457520174e-5 + $y * (-0.240337019e6)))); -// $f2 = 0.04687499995 + $y * (-0.2002690873e-3 + $y * (0.8449199096e-5 + $y * (-0.88228987e-6 + $y * 0.105787412e-6))); -// $fRet = sqrt(0.636619772 / $fNum) * (sin($xx) * $f1 + $z * cos($xx) * $f2); - #i12430# ...but this seems to work much better. $fRet = sqrt(0.636619772 / $fNum) * sin($fNum - 2.356194491); } return $fRet; @@ -1007,24 +994,22 @@ class PHPExcel_Calculation_Engineering { /** - * BESSELY + * BESSELY * - * Returns the Bessel function, which is also called the Weber function or the Neumann function. + * Returns the Bessel function, which is also called the Weber function or the Neumann function. * - * Excel Function: + * Excel Function: * BESSELY(x,ord) * - * @access public - * @category Engineering Functions - * @param float $x The value at which to evaluate the function. + * @access public + * @category Engineering Functions + * @param float $x The value at which to evaluate the function. * If x is nonnumeric, BESSELK returns the #VALUE! error value. - * @param integer $ord The order of the Bessel function. If n is not an integer, it is truncated. + * @param integer $ord The order of the Bessel function. If n is not an integer, it is truncated. * If $ord is nonnumeric, BESSELK returns the #VALUE! error value. * If $ord < 0, BESSELK returns the #NUM! error value. * - * @TODO Better handling of the approximation method to support the differences between Excel/Gnumeric and Open/Libre Office - * - * @return float + * @return float */ public static function BESSELY($x, $ord) { $x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x); @@ -2187,19 +2172,19 @@ class PHPExcel_Calculation_Engineering { /** - * DELTA + * DELTA * - * Tests whether two values are equal. Returns 1 if number1 = number2; returns 0 otherwise. - * Use this function to filter a set of values. For example, by summing several DELTA - * functions you calculate the count of equal pairs. This function is also known as the - * Kronecker Delta function. + * Tests whether two values are equal. Returns 1 if number1 = number2; returns 0 otherwise. + * Use this function to filter a set of values. For example, by summing several DELTA + * functions you calculate the count of equal pairs. This function is also known as the + * Kronecker Delta function. * - * Excel Function: + * Excel Function: * DELTA(a[,b]) * - * @param float $a The first number. - * @param float $b The second number. If omitted, b is assumed to be zero. - * @return int + * @param float $a The first number. + * @param float $b The second number. If omitted, b is assumed to be zero. + * @return int */ public static function DELTA($a, $b=0) { $a = PHPExcel_Calculation_Functions::flattenSingleValue($a); @@ -2210,19 +2195,19 @@ class PHPExcel_Calculation_Engineering { /** - * GESTEP + * GESTEP * - * Excel Function: + * Excel Function: * GESTEP(number[,step]) * - * Returns 1 if number >= step; returns 0 (zero) otherwise - * Use this function to filter a set of values. For example, by summing several GESTEP - * functions you calculate the count of values that exceed a threshold. + * Returns 1 if number >= step; returns 0 (zero) otherwise + * Use this function to filter a set of values. For example, by summing several GESTEP + * functions you calculate the count of values that exceed a threshold. * - * @param float $number The value to test against step. - * @param float $step The threshold value. + * @param float $number The value to test against step. + * @param float $step The threshold value. * If you omit a value for step, GESTEP uses zero. - * @return int + * @return int */ public static function GESTEP($number, $step=0) { $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); @@ -2336,9 +2321,9 @@ class PHPExcel_Calculation_Engineering { * PHPExcel follows Excel 2010 behaviour, and accepts nagative arguments. * * Excel Function: - * ERF(x) + * ERFC(x) * - * @param float $x The lower bound for integrating ERF + * @param float $x The lower bound for integrating ERFC * @return float */ public static function ERFC($x) { @@ -2352,9 +2337,10 @@ class PHPExcel_Calculation_Engineering { /** - * getConversionGroups + * getConversionGroups + * Returns a list of the different conversion groups for UOM conversions * - * @return array + * @return array */ public static function getConversionGroups() { $conversionGroups = array(); @@ -2366,9 +2352,12 @@ class PHPExcel_Calculation_Engineering { /** - * getConversionGroupUnits + * getConversionGroupUnits + * Returns an array of units of measure, for a specified conversion group, or for all groups * - * @return array + * @param string $group The group whose units of measure you want to retrieve + * + * @return array */ public static function getConversionGroupUnits($group = NULL) { $conversionGroups = array(); @@ -2382,9 +2371,9 @@ class PHPExcel_Calculation_Engineering { /** - * getConversionGroupUnitDetails + * getConversionGroupUnitDetails * - * @return array + * @return array */ public static function getConversionGroupUnitDetails($group = NULL) { $conversionGroups = array(); @@ -2400,9 +2389,10 @@ class PHPExcel_Calculation_Engineering { /** - * getConversionGroups + * getConversionMultipliers + * Returns an array of the Multiplier prefixes that can be used with Units of Measure in CONVERTUOM() * - * @return array + * @return array of mixed */ public static function getConversionMultipliers() { return self::$_conversionMultipliers; @@ -2410,19 +2400,20 @@ class PHPExcel_Calculation_Engineering { /** - * CONVERTUOM + * CONVERTUOM * - * Converts a number from one measurement system to another. - * For example, CONVERT can translate a table of distances in miles to a table of distances - * in kilometers. + * Converts a number from one measurement system to another. + * For example, CONVERT can translate a table of distances in miles to a table of distances + * in kilometers. * - * Excel Function: + * Excel Function: * CONVERT(value,fromUOM,toUOM) * - * @param float $value The value in fromUOM to convert. - * @param string $fromUOM The units for value. - * @param string $toUOM The units for the result. - * @return float + * @param float $value The value in fromUOM to convert. + * @param string $fromUOM The units for value. + * @param string $toUOM The units for the result. + * + * @return float */ public static function CONVERTUOM($value, $fromUOM, $toUOM) { $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); diff --git a/Classes/PHPExcel/Cell.php b/Classes/PHPExcel/Cell.php index 7c8848b4..b6c8fcf8 100644 --- a/Classes/PHPExcel/Cell.php +++ b/Classes/PHPExcel/Cell.php @@ -273,6 +273,8 @@ class PHPExcel_Cell /** * Get calculated cell value * + * @deprecated Since version 1.7.8 for planned changes to cell for array formula handling + * * @return mixed */ public function getCalculatedValue($resetLog=true) @@ -312,6 +314,8 @@ class PHPExcel_Cell /** * Set calculated value (used for caching) * + * @deprecated Since version 1.7.8 for planned changes to cell for array formula handling + * * @param mixed $pValue Value * @return PHPExcel_Cell */ @@ -880,13 +884,18 @@ class PHPExcel_Cell return $this->notifyCacheController(); } - + /** + * @deprecated Since version 1.7.8 for planned changes to cell for array formula handling + */ public function setFormulaAttributes($pAttributes) { $this->_formulaAttributes = $pAttributes; return $this; } + /** + * @deprecated Since version 1.7.8 for planned changes to cell for array formula handling + */ public function getFormulaAttributes() { return $this->_formulaAttributes; diff --git a/Classes/PHPExcel/Reader/Excel2007.php b/Classes/PHPExcel/Reader/Excel2007.php index 0b78f569..803b8bd1 100644 --- a/Classes/PHPExcel/Reader/Excel2007.php +++ b/Classes/PHPExcel/Reader/Excel2007.php @@ -1187,7 +1187,7 @@ class PHPExcel_Reader_Excel2007 implements PHPExcel_Reader_IReader if ($xmlSheet && $xmlSheet->colBreaks && $xmlSheet->colBreaks->brk && !$this->_readDataOnly) { foreach ($xmlSheet->colBreaks->brk as $brk) { if ($brk["man"]) { - $docSheet->setBreak(PHPExcel_Cell::stringFromColumnIndex($brk["id"]) . "1", PHPExcel_Worksheet::BREAK_COLUMN); + $docSheet->setBreak(PHPExcel_Cell::stringFromColumnIndex((string) $brk["id"]) . "1", PHPExcel_Worksheet::BREAK_COLUMN); } } } diff --git a/Documentation/PHPExcel Function Reference developer documentation.doc b/Documentation/PHPExcel Function Reference developer documentation.doc index 9d1c5c1c..1ab93b25 100644 Binary files a/Documentation/PHPExcel Function Reference developer documentation.doc and b/Documentation/PHPExcel Function Reference developer documentation.doc differ diff --git a/changelog.txt b/changelog.txt index c10a41c9..f4ed935e 100644 --- a/changelog.txt +++ b/changelog.txt @@ -23,6 +23,54 @@ ************************************************************************************** +-------------------------------------------------------------------------------- +BREAKING CHANGE! As part of the planned changes for handling array formulae in +workbooks, there are some changes that will affect the PHPExcel_Cell object +methods. + +The following methods are now deprecated, and will be removed in version 1.7.9: + getCalculatedValue() The getValue() method will return calculated + values for cells containing formulae instead. + setCalculatedValue() The cell value will always contain the result of a + any formula calculation. + setFormulaAttributes() Will now be determined by the arguments to the + setFormula() method. + getFormulaAttributes() This will be replaced by the getArrayFormulaRange() + method. + +The following methods will be added in version 1.7.9 + getFormula() Use to retrieve a cell formula, will return the cell + value if the cell doesn't contain a formula, or + is not part of an array formula range. + setFormula() Use to set a cell formula. It will still be possible + to set formulae using the setValue() and + setValueExplicit() methods. + calculate() Use to execute a formula calculation to update the + cell value. + isFormula() Use to determine if a cell contains a formula, or is + part of an array formula range or not. + isArrayFormula() Use to determine if a cell contains an array formula, + or is part of an array formula range or not. + getArrayFormulaRange() Use to retrieve an array formula range. + +The following methods will be changed in version 1.7.9 + setValue() The logic behind this will be modified to store + formula values in the new cell property structure, + but it will still perform the same function. + setValueExplicit() The logic behind this will be modified to store + formula values in the new cell property structure, + but it will still perform the same function. + getValue() Will no longer return a formula if the cell contains + a formula, but will return the calculated value + instead. For cells that don't contain a formula, + it will still return the stored value. + getDataType() Will return the datatype of the calculated value for + cells that contain formulae. + setDataType() Error handling will be added to prevent setting a + cell datatype to an inappropriate value. +-------------------------------------------------------------------------------- + + Fixed in develop branch: - Feature: (MBaker) Refactor PDF Writer to allow use with a choice of PDF Rendering library rather than restricting to tcPDF @@ -39,6 +87,7 @@ Fixed in develop branch: - Bugfix: (MBaker) Work items 15905 and 18183 - Allow "no impact" to formats on Conditional Formatting - Bugfix: (wackonline) OOCalc Reader fix for NULL cells - Bugfix: (seltzlab) Fix to excel2007 Chart Writer when a $plotSeriesValues is empty +- Bugfix: (MBaker) Work item 18370 - Error loading xlsx file with column breaks 2012-05-19 (v1.7.7): diff --git a/unitTests/rawTestData/Calculation/Engineering/BESSELI.data b/unitTests/rawTestData/Calculation/Engineering/BESSELI.data index 006f5b94..c5d347e8 100644 --- a/unitTests/rawTestData/Calculation/Engineering/BESSELI.data +++ b/unitTests/rawTestData/Calculation/Engineering/BESSELI.data @@ -1,59 +1,59 @@ 1.5, -1, "#NUM!" --1, 6, 2.24886609492822E-05 +-1, 6, 2.2488660949282200E-05 0, 3, 0.0 -3, 0, 4.88079256503329 -1, 5, 2.71463149585049E-04 -1.5, 1, 9.81666428475166E-01 --1.5, 2.5, 3.37834620874438E-01 --1.5, 14.99, 2.12185817580129E-13 -1, 30, 3.53950050502547E-42 -2.5, 1, 2.51671624202536 -2.5, 1.5, 2.51671624202536 --2.5, 1.5, -2.51671624202536 -3.5, 1, 6.20583493206300 -0.7, 3, 7.36737336693427E-03 -3.5, 2, 3.83201207162936 -35, 2, 1.0695052240857E+14 // Calculation of values above 30/below -30 use the approximation --35, 2, 1.06950522408568E+14 // method in PHPExcel (like in Open/Libre Office), so --35, 3, -1.06950522408568E+14 // results are matched against Libre Office result. --35, 4, 1.06950522408568E+14 +3, 0, 4.8807925650332900 +1, 5, 2.7146314958504900E-04 +1.5, 1, 9.8166642847516600E-01 +-1.5, 2.5, 3.3783462087443800E-01 +-1.5, 14.99, 2.1218581758012900E-13 +1, 30, 3.5395005050254700E-42 +2.5, 1, 2.5167162420253600 +2.5, 1.5, 2.5167162420253600 +-2.5, 1.5, -2.5167162420253600 +3.5, 1, 6.2058349320630000 +0.7, 3, 7.3673733669342700E-03 +3.5, 2, 3.8320120716293600 +35, 2, 1.0129348967887200E+14 +-35, 2, 1.0129348967887200E+14 +-35, 3, -9.4217724797020600E+13 +-35, 4, 8.5141821583727800E+13 1.5, "XYZ", "#VALUE!" "ABC", 3, "#VALUE!" --9, 1, -1030.914709 --3.5, 1, -6.205834932 --0.735, 1, -0.392881517 -0, 1, 0 -0.035, 1, 0.01750268 -1, 1, 0.565159098 -1.5, 1, 0.981666428 -2.5, 1, 2.516716242 -3.5, 1, 6.205834932 --9, 2, 864.4962206 --3.5, 2, 3.832012072 --0.735, 2, 0.070619941 -0, 2, 0 -0.035, 2, 0.000153141 -0.9, 2, 0.108259722 -1, 2, 0.135747667 -1.9, 2, 0.603272435 -2.5, 2, 1.276466159 -3.5, 2, 3.832012072 -4, 2, 6.422189499 -0.035, 3, 8.93298E-07 -0.7, 3, 0.007367373 -0.89, 3, 0.015428503 -4, 3, 3.337275843 -4, 5, 0.504724373 -1.5, 7, 2.84064E-05 -3, 9, 0.000132373 --3.5, 0, 7.378203478 --1.5, 0, 1.646723202 -0, 0, 1 -1, 0, 1.266065848 -1.5, 0, 1.646723202 -2.5, 0, 3.289839172 -3.5, 0, 7.378203478 +-9, 1, -1.0309147086534900E+03 +-3.5, 1, -6.2058349320630000 +-0.735, 1, -3.9288151661176300E-01 +0, 1, 0.0 +0.035, 1, 1.7502679823335300E-02 +1, 1, 5.6515909758194300E-01 +1.5, 1, 9.8166642847516600E-01 +2.5, 1, 2.5167162420253600 +3.5, 1, 6.2058349320630000 +-9, 2, 8.6449622063929800E+02 +-3.5, 2, 3.8320120716293600 +-0.735, 2, 7.0619941066585700E-02 +0, 2, 0.0 +0.035, 2, 1.5314063208086000E-04 +0.9, 2, 1.0825972222234100E-01 +1, 2, 1.3574766658069900E-01 +1.9, 2, 6.0327243548745000E-01 +2.5, 2, 1.2764661588156100 +3.5, 2, 3.8320120716293600 +4, 2, 6.4221894991960900 +0.035, 3, 8.9329755645604500E-07 +0.7, 3, 7.3673733669342700E-03 +0.89, 3, 1.5428502532466100E-02 +4, 3, 3.3372758428109200 +4, 5, 5.0472437285149600E-01 +1.5, 7, 2.8406417355214300E-05 +3, 9, 1.3237298826652200E-04 +-3.5, 0, 7.3782034775718600 +-1.5, 0, 1.6467232021476800 +0, 0, 1.0 +1, 0, 1.2660658480342600 +1.5, 0, 1.6467232021476800 +2.5, 0, 3.2898391723912900 +3.5, 0, 7.3782034775718600 -3.5, -1, "#NUM!" TRUE, 1, "#VALUE!" 1, TRUE, "#VALUE!" -21, 2, 104777856.3 +21, 2, 1.0477785626593200E+08 diff --git a/unitTests/rawTestData/Calculation/Engineering/BESSELJ.data b/unitTests/rawTestData/Calculation/Engineering/BESSELJ.data index 493b4309..f0d32bdb 100644 --- a/unitTests/rawTestData/Calculation/Engineering/BESSELJ.data +++ b/unitTests/rawTestData/Calculation/Engineering/BESSELJ.data @@ -1,37 +1,37 @@ 1.5, -1, "#NUM!" 0, 1, 0.0 -1, 1, 4.40050585677130E-01 -1, 5, 2.49757730211234E-04 -1.9, 2, 3.29925828669785E-01 --2.5, 1.5, -4.97094102504422E-01 -3.5, 1, 1.37377527178186E-01 -0.89, 3, 1.39740040278808E-02 -3.5, 2, 4.58629184768290E-01 -35, 2, 1.29359450880863E-01 // Calculation of values above 30/below -30 use the approximation --35, 2, 1.29359450880863E-01 // method in PHPExcel (like in Open/Libre Office), so --35, 3, 2.92070049360984E-02 // results are matched against Libre Office result. --35, 4, -1.34366366012765E-01 +1, 1, 4.4005058567713000E-01 +1, 5, 2.4975773021123400E-04 +1.9, 2, 3.2992582866978500E-01 +-2.5, 1.5, -4.9709410250442200E-01 +3.5, 1, 1.3737752717818600E-01 +0.89, 3, 1.3974004027880800E-02 +3.5, 2, 4.5862918476829000E-01 +35, 2, 1.2935945082689100E-01 +-35, 2, 1.2935945082689100E-01 +-35, 3, 2.9207004782372000E-02 +-35, 4, -1.3436636593244100E-01 1.5, "XYZ", "#VALUE!" "ABC", 3, "#VALUE!" --3.5, 1, -0.137377527 --0.735, 1, -0.343235775 -0, 1, 0 -0.035, 1, 0.01749732 -1.5, 1, 0.557936508 -2.5, 1, 0.497094103 -3.5, 1, 0.137377527 --9, 2, 0.144846369 --0.735, 2, 0.064538956 -0, 2, 0 -0.9, 2, 0.094586304 -1.9, 2, 0.329925829 -0.035, 2, 0.000153109 -3.5, 2, 0.458629185 -4, 2, 0.364128143 -0.035, 3, 8.93161E-07 -0.7, 3, 0.006929655 -0.89, 3, 0.013974004 -4, 3, 0.430171471 -4, 5, 0.132086656 -1.5, 7, 2.46798E-05 -3, 9, 8.4395E-05 +-3.5, 1, -1.3737752717818600E-01 +-0.735, 1, -3.4323577520309400E-01 +0, 1, 0.0 +0.035, 1, 1.7497320451918700E-02 +1.5, 1, 5.5793650789080400E-01 +2.5, 1, 4.9709410250442200E-01 +3.5, 1, 1.3737752717818600E-01 +-9, 2, 1.4484636919412800E-01 +-0.735, 2, 6.4538955636373900E-02 +0, 2, 0.0 +0.9, 2, 9.4586304292255000E-02 +1.9, 2, 3.2992582866978500E-01 +0.035, 2, 1.5310936908796500E-04 +3.5, 2, 4.5862918476829000E-01 +4, 2, 3.6412814319431200E-01 +0.035, 3, 8.9316078090293600E-07 +0.7, 3, 6.9296548267509400E-03 +0.89, 3, 1.3974004027880800E-02 +4, 3, 4.3017147115339600E-01 +4, 5, 1.3208665605594800E-01 +1.5, 7, 2.4679795788287900E-05 +3, 9, 8.4395021309091800E-05 diff --git a/unitTests/rawTestData/Calculation/Engineering/BESSELK.data b/unitTests/rawTestData/Calculation/Engineering/BESSELK.data index 139fa553..992d8945 100644 --- a/unitTests/rawTestData/Calculation/Engineering/BESSELK.data +++ b/unitTests/rawTestData/Calculation/Engineering/BESSELK.data @@ -1,38 +1,38 @@ 1.5, -1, "#NUM!" 0, 2, "#NUM!" -0.1, 3, 7.99001243265865E+03 -1, 0, 4.21024421083418E-01 -1.5, 0, 2.13805569323654E-01 +0.1, 3, 7.9900124326586500E+03 +1, 0, 4.2102442108341800E-01 +1.5, 0, 2.1380556932365400E-01 -1.5, 2, "#NUM!" -1.5, 1, 2.77387803632259E-01 -1.5, 2, 5.83655974166666E-01 -2.3, 1.5, 9.49824471429594E-02 -2.5, 1, 7.38908156502669E-02 -3.5, 1, 2.22393932246407E-02 -3.5, 3, 5.91618179913482E-02 -3, 9, 3.97958801062385E+02 -3.5, 2, 3.23071216708690E-02 +1.5, 1, 2.7738780363225900E-01 +1.5, 2, 5.8365597416666600E-01 +2.3, 1.5, 9.4982447142959400E-02 +2.5, 1, 7.3890815650266900E-02 +3.5, 1, 2.2239393224640700E-02 +3.5, 3, 5.9161817991348200E-02 +3, 9, 3.9795880106238500E+02 +3.5, 2, 3.2307121670869000E-02 1.5, "XYZ", "#VALUE!" "ABC", 3, "#VALUE!" -3.5, 1, "#NUM!" -0.735, 1, "#NUM!" 0, 1, "#NUM!" -0.035, 1, 28.50197 -1.5, 1, 0.277387804 -2.5, 1, 0.073890816 -3.5, 1, 0.022239393 +0.035, 1, 2.8501970000186900E+01 +1.5, 1, 2.7738780363225900E-01 +2.5, 1, 7.3890815650266900E-02 +3.5, 1, 2.2239393224640700E-02 -9, 2, "#NUM!" -0.735, 2, "#NUM!" 0, 2, "#NUM!" -0.9, 2, 2.07902713 -1.9, 2, 0.296909301 -0.035, 2, 1632.153707 -3.5, 2, 0.032307122 -4, 2, 0.017401426 -0.035, 3, 186560.3542 -0.7, 3, 21.97216891 -0.89, 3, 10.31747308 -4, 3, 0.029884924 -4, 5, 0.154342549 -1.5, 7, 2457.700453 -3, 9, 397.9588011 +0.9, 2, 2.0790271301014400 +1.9, 2, 2.9690930137427500E-01 +0.035, 2, 1.6321537072931900E+03 +3.5, 2, 3.2307121670869000E-02 +4, 2, 1.7401425543547400E-02 +0.035, 3, 1.8656035423207900E+05 +0.7, 3, 2.1972168909566600E+01 +0.89, 3, 1.0317473075007600E+01 +4, 3, 2.9884924431707800E-02 +4, 5, 1.5434254881392600E-01 +1.5, 7, 2.4577004526116700E+03 +3, 9, 3.9795880106238500E+02 diff --git a/unitTests/rawTestData/Calculation/Engineering/BESSELY.data b/unitTests/rawTestData/Calculation/Engineering/BESSELY.data index 5f1a99dc..90aea973 100644 --- a/unitTests/rawTestData/Calculation/Engineering/BESSELY.data +++ b/unitTests/rawTestData/Calculation/Engineering/BESSELY.data @@ -1,37 +1,37 @@ 1.5, -1, "#NUM!" -1.23, 45.67, -2.70273112611750E+63 -2.5, 0, 4.98070358446689E-01 -2.5, 1, 1.45918137508313E-01 -2.5, 2, -3.81335848440038E-01 -3.5, 1, 4.10188416627698E-01 -3.5, 3, -3.58335346436229E-01 -4, 2, 2.15903599106990E-01 -3.5, 2, 4.53714364175350E-02 -12.5, 0, -1.71214306844669E-01 -12.5, 1, -1.53838256351639E-01 -12.5, 2, 1.46600185868054E-01 -12.5, 22, -3.57603435038787E+02 +1.23, 45.67, -2.7027311261175000E+63 +2.5, 0, 4.9807035844668900E-01 +2.5, 1, 1.4591813750831300E-01 +2.5, 2, -3.8133584844003800E-01 +3.5, 1, 4.1018841662769800E-01 +3.5, 3, -3.5833534643622900E-01 +4, 2, 2.1590359910699000E-01 +3.5, 2, 4.5371436417535000E-02 +12.5, 0, -1.7121430684466900E-01 +12.5, 1, -1.5383825635163900E-01 +12.5, 2, 1.4660018586805400E-01 +12.5, 22, -3.5760343503878700E+02 1.5, "XYZ", "#VALUE!" "ABC", 3, "#VALUE!" -3.5, 1, "#NUM!" -0.735, 1, "#NUM!" 0, 1, "#NUM!" -0.035, 1, -18.23333894 -1.5, 1, -0.412308627 -2.5, 1, 0.145918138 -3.5, 1, 0.410188417 +0.035, 1, -1.8233338940000000E+01 +1.5, 1, -4.1230862700000000E-01 +2.5, 1, 1.4591813800000000E-01 +3.5, 1, 4.1018841700000000E-01 -9, 2, "#NUM!" -0.735, 2, "#NUM!" 0, 2, "#NUM!" -0.9, 2, -1.945909607 -1.9, 2, -0.669878674 -0.035, 2, -1039.697941 -3.5, 2, 0.045371436 -4, 2, 0.215903599 -0.035, 3, -118804.3884 -0.7, 3, -15.81947907 -0.89, 3, -8.020441252 -4, 3, -0.18202211 -4, 5, -0.795851418 -1.5, 7, -1887.397034 -3, 9, -444.9595071 +0.9, 2, -1.9459096070000000 +1.9, 2, -6.6987867400000000E-01 +0.035, 2, -1.0396979410000000E+03 +3.5, 2, 4.5371436000000000E-02 +4, 2, 2.1590359900000000E-01 +0.035, 3, -1.1880438840000000E+05 +0.7, 3, -1.5819479070000000E+01 +0.89, 3, -8.0204412520000000 +4, 3, -1.8202211000000000E-01 +4, 5, -7.9585141800000000E-01 +1.5, 7, -1.8873970340000000E+03 +3, 9, -4.4495950710000000E+02 diff --git a/unitTests/rawTestData/Calculation/Engineering/IMDIV.data b/unitTests/rawTestData/Calculation/Engineering/IMDIV.data index 4f18f078..f7a6991a 100644 --- a/unitTests/rawTestData/Calculation/Engineering/IMDIV.data +++ b/unitTests/rawTestData/Calculation/Engineering/IMDIV.data @@ -16,3 +16,5 @@ "-12.34-5.67j", "123.45-67.89", "#NUM!" "-12.34-5.67", "123.45-67.89j", "#NUM!" "-12.34-5.67i", "-12.34-5.67i", "1" +"-12.34", "123.45-67.89i", "-0.0767482736849023-0.0422068878126206i" +"-12.34-5.67i", "-12.34", "1+0.459481361426256i" diff --git a/unitTests/rawTestData/Calculation/Engineering/IMPOWER.data b/unitTests/rawTestData/Calculation/Engineering/IMPOWER.data index 06b8247a..d9acf508 100644 --- a/unitTests/rawTestData/Calculation/Engineering/IMPOWER.data +++ b/unitTests/rawTestData/Calculation/Engineering/IMPOWER.data @@ -1,14 +1,18 @@ -"12.34+5.67j", 2, "120.1267+139.9356j" -"12.34+5.67j", 3, "688.928626+2407.923693j" -"12.34+5.67j", -1, "6.69108496973016E-002-3.07442883131037E-002j" -"12.34+5.67j", -2, "3.53185054333564E-003-4.11425290873718E-003j" -"12.34+5.67j", 0.5, "3.60002071031685+0.787495469644252j" -"12.34+5.67j", -0.25, "0.517904976730581-5.59833234375533E-002j" -"12.34+5.67j", 0, "1" -"-i", 2, "-1-1.34451369308841E-014i" -"1-i", 2, "1.22460635382238E-016-2i" -"2.5i", 2, "-6.25+8.40321058180257E-014i" -"2.5i", "2.5", "-6.98771242968685-6.98771242968684i" -"2.5i", "2.5i", "#VALUE!" -"2.5", "2.5", 9.88211768802619 -"2", "2", 4 +"12.34+5.67j", 2, "120.1267+139.9356j" +"12.34+5.67j", 3, "688.928626+2407.923693j" +"12.34+5.67j", -1, "6.69108496973016E-002-3.07442883131037E-002j" +"12.34+5.67j", -2, "3.53185054333564E-003-4.11425290873718E-003j" +"12.34+5.67j", 0.5, "3.60002071031685+0.787495469644252j" +"12.34+5.67j", -0.25, "0.517904976730581-5.59833234375533E-002j" +"12.34+5.67j", 0, "1" +"-i", 2, "-1-1.34451369308841E-014i" +"1-i", 2, "1.22460635382238E-016-2i" +"2.5i", 2, "-6.25+8.40321058180257E-014i" +"2.5i", "2.5", "-6.98771242968685-6.98771242968684i" +"2.5i", "2.5i", "#VALUE!" +"2.5", "2.5", 9.88211768802619 +"2", "2", 4 +"-12.34-5.67i", "-12.34", "-4.69972844488573E-15+9.35464904349343E-15i" +"12.34-5.67i", "-12.34", "5.93343000067521E-15-8.62503997728057E-15i" +"-12.34-5.67i", "12.34", "-42881944468901.9-85355046682682.3i" +"12.34-5.67i", "12.34", "54138663282971.3+78697841733874.3i" diff --git a/unitTests/rawTestData/Calculation/Engineering/IMPRODUCT.data b/unitTests/rawTestData/Calculation/Engineering/IMPRODUCT.data index 5b49044f..99149562 100644 --- a/unitTests/rawTestData/Calculation/Engineering/IMPRODUCT.data +++ b/unitTests/rawTestData/Calculation/Engineering/IMPRODUCT.data @@ -11,3 +11,5 @@ "12.34+5.67i", "-123.45+67.89i", "-1908.3093+137.8011i" "-12.34+5.67i", "-123.45+67.89i", "1138.4367-1537.7241i" "-12.34-5.67i", "-123.45-67.89i", "1138.4367+1537.7241i" +"-12.34", "123.45-67.89i", "-1523.373+837.7626i" +"-12.34-5.67i", "-12.34", "152.2756+69.9678i" diff --git a/unitTests/rawTestData/Calculation/TextData/CHAR.data b/unitTests/rawTestData/Calculation/TextData/CHAR.data index f4cbee5d..c0c35ad9 100644 --- a/unitTests/rawTestData/Calculation/TextData/CHAR.data +++ b/unitTests/rawTestData/Calculation/TextData/CHAR.data @@ -3,3 +3,4 @@ 65, "A" 123, "{" 126, "~" +