Bugfix: Work item 18370 - Error loading xlsx file with column breaks

Deprecated the getCalculatedValue(), setCalculatedValue(), setFormulaAttributes() and getFormulaAttributes() methods in PHPExcel_Cell.
Documentation changes and unit tests.
This commit is contained in:
Mark Baker 2012-07-18 12:29:33 +01:00
parent 1535b4d9e7
commit 59932b0cac
13 changed files with 294 additions and 236 deletions

View File

@ -773,8 +773,8 @@ class PHPExcel_Calculation_Engineering {
/** /**
* BESSELI * BESSELI
* *
* Returns the modified Bessel function, which is equivalent to the Bessel function evaluated for * Returns the modified Bessel function In(x), which is equivalent to the Bessel function evaluated
* purely imaginary arguments * for purely imaginary arguments
* *
* Excel Function: * Excel Function:
* BESSELI(x,ord) * BESSELI(x,ord)
@ -783,14 +783,12 @@ class PHPExcel_Calculation_Engineering {
* @category Engineering Functions * @category Engineering Functions
* @param float $x The value at which to evaluate the function. * @param float $x The value at which to evaluate the function.
* If x is nonnumeric, BESSELI returns the #VALUE! error value. * 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 is nonnumeric, BESSELI returns the #VALUE! error value.
* If $ord < 0, BESSELI returns the #NUM! error value. * If $ord < 0, BESSELI returns the #NUM! error value.
* @return float * @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) { public static function BESSELI($x, $ord) {
$x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x); $x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x);
@ -843,8 +841,6 @@ class PHPExcel_Calculation_Engineering {
* If $ord < 0, BESSELJ returns the #NUM! error value. * If $ord < 0, BESSELJ returns the #NUM! error value.
* @return float * @return float
* *
* @TODO Better handling of the approximation method to support the differences between Excel/Gnumeric and Open/Libre Office
*
*/ */
public static function BESSELJ($x, $ord) { public static function BESSELJ($x, $ord) {
$x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x); $x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x);
@ -919,7 +915,7 @@ class PHPExcel_Calculation_Engineering {
/** /**
* BESSELK * BESSELK
* *
* Returns the modified Bessel function, which is equivalent to the Bessel functions evaluated * Returns the modified Bessel function Kn(x), which is equivalent to the Bessel functions evaluated
* for purely imaginary arguments. * for purely imaginary arguments.
* *
* Excel Function: * Excel Function:
@ -934,8 +930,6 @@ class PHPExcel_Calculation_Engineering {
* If $ord < 0, BESSELK returns the #NUM! error value. * If $ord < 0, BESSELK returns the #NUM! error value.
* @return float * @return float
* *
* @TODO Better handling of the approximation method to support the differences between Excel/Gnumeric and Open/Libre Office
*
*/ */
public static function BESSELK($x, $ord) { public static function BESSELK($x, $ord) {
$x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x); $x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x);
@ -993,13 +987,6 @@ class PHPExcel_Calculation_Engineering {
(0.1020426050e6 + $y * (0.3549632885e3 + $y))))); (0.1020426050e6 + $y * (0.3549632885e3 + $y)))));
$fRet = $f1 / $f2 + 0.636619772 * ( self::BESSELJ($fNum, 1) * log($fNum) - 1 / $fNum); $fRet = $f1 / $f2 + 0.636619772 * ( self::BESSELJ($fNum, 1) * log($fNum) - 1 / $fNum);
} else { } 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); $fRet = sqrt(0.636619772 / $fNum) * sin($fNum - 2.356194491);
} }
return $fRet; return $fRet;
@ -1022,8 +1009,6 @@ class PHPExcel_Calculation_Engineering {
* If $ord is nonnumeric, BESSELK returns the #VALUE! error value. * If $ord is nonnumeric, BESSELK returns the #VALUE! error value.
* If $ord < 0, BESSELK returns the #NUM! 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) { public static function BESSELY($x, $ord) {
@ -2336,9 +2321,9 @@ class PHPExcel_Calculation_Engineering {
* PHPExcel follows Excel 2010 behaviour, and accepts nagative arguments. * PHPExcel follows Excel 2010 behaviour, and accepts nagative arguments.
* *
* Excel Function: * 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 * @return float
*/ */
public static function ERFC($x) { public static function ERFC($x) {
@ -2353,6 +2338,7 @@ class PHPExcel_Calculation_Engineering {
/** /**
* getConversionGroups * getConversionGroups
* Returns a list of the different conversion groups for UOM conversions
* *
* @return array * @return array
*/ */
@ -2367,6 +2353,9 @@ class PHPExcel_Calculation_Engineering {
/** /**
* getConversionGroupUnits * getConversionGroupUnits
* Returns an array of units of measure, for a specified conversion group, or for all groups
*
* @param string $group The group whose units of measure you want to retrieve
* *
* @return array * @return 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() { public static function getConversionMultipliers() {
return self::$_conversionMultipliers; return self::$_conversionMultipliers;
@ -2422,6 +2412,7 @@ class PHPExcel_Calculation_Engineering {
* @param float $value The value in fromUOM to convert. * @param float $value The value in fromUOM to convert.
* @param string $fromUOM The units for value. * @param string $fromUOM The units for value.
* @param string $toUOM The units for the result. * @param string $toUOM The units for the result.
*
* @return float * @return float
*/ */
public static function CONVERTUOM($value, $fromUOM, $toUOM) { public static function CONVERTUOM($value, $fromUOM, $toUOM) {

View File

@ -273,6 +273,8 @@ class PHPExcel_Cell
/** /**
* Get calculated cell value * Get calculated cell value
* *
* @deprecated Since version 1.7.8 for planned changes to cell for array formula handling
*
* @return mixed * @return mixed
*/ */
public function getCalculatedValue($resetLog=true) public function getCalculatedValue($resetLog=true)
@ -312,6 +314,8 @@ class PHPExcel_Cell
/** /**
* Set calculated value (used for caching) * 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 * @param mixed $pValue Value
* @return PHPExcel_Cell * @return PHPExcel_Cell
*/ */
@ -880,13 +884,18 @@ class PHPExcel_Cell
return $this->notifyCacheController(); return $this->notifyCacheController();
} }
/**
* @deprecated Since version 1.7.8 for planned changes to cell for array formula handling
*/
public function setFormulaAttributes($pAttributes) public function setFormulaAttributes($pAttributes)
{ {
$this->_formulaAttributes = $pAttributes; $this->_formulaAttributes = $pAttributes;
return $this; return $this;
} }
/**
* @deprecated Since version 1.7.8 for planned changes to cell for array formula handling
*/
public function getFormulaAttributes() public function getFormulaAttributes()
{ {
return $this->_formulaAttributes; return $this->_formulaAttributes;

View File

@ -1187,7 +1187,7 @@ class PHPExcel_Reader_Excel2007 implements PHPExcel_Reader_IReader
if ($xmlSheet && $xmlSheet->colBreaks && $xmlSheet->colBreaks->brk && !$this->_readDataOnly) { if ($xmlSheet && $xmlSheet->colBreaks && $xmlSheet->colBreaks->brk && !$this->_readDataOnly) {
foreach ($xmlSheet->colBreaks->brk as $brk) { foreach ($xmlSheet->colBreaks->brk as $brk) {
if ($brk["man"]) { 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);
} }
} }
} }

View File

@ -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: Fixed in develop branch:
- Feature: (MBaker) Refactor PDF Writer to allow use with a choice of PDF Rendering library - Feature: (MBaker) Refactor PDF Writer to allow use with a choice of PDF Rendering library
rather than restricting to tcPDF 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: (MBaker) Work items 15905 and 18183 - Allow "no impact" to formats on Conditional Formatting
- Bugfix: (wackonline) OOCalc Reader fix for NULL cells - Bugfix: (wackonline) OOCalc Reader fix for NULL cells
- Bugfix: (seltzlab) Fix to excel2007 Chart Writer when a $plotSeriesValues is empty - 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): 2012-05-19 (v1.7.7):

View File

@ -1,59 +1,59 @@
1.5, -1, "#NUM!" 1.5, -1, "#NUM!"
-1, 6, 2.24886609492822E-05 -1, 6, 2.2488660949282200E-05
0, 3, 0.0 0, 3, 0.0
3, 0, 4.88079256503329 3, 0, 4.8807925650332900
1, 5, 2.71463149585049E-04 1, 5, 2.7146314958504900E-04
1.5, 1, 9.81666428475166E-01 1.5, 1, 9.8166642847516600E-01
-1.5, 2.5, 3.37834620874438E-01 -1.5, 2.5, 3.3783462087443800E-01
-1.5, 14.99, 2.12185817580129E-13 -1.5, 14.99, 2.1218581758012900E-13
1, 30, 3.53950050502547E-42 1, 30, 3.5395005050254700E-42
2.5, 1, 2.51671624202536 2.5, 1, 2.5167162420253600
2.5, 1.5, 2.51671624202536 2.5, 1.5, 2.5167162420253600
-2.5, 1.5, -2.51671624202536 -2.5, 1.5, -2.5167162420253600
3.5, 1, 6.20583493206300 3.5, 1, 6.2058349320630000
0.7, 3, 7.36737336693427E-03 0.7, 3, 7.3673733669342700E-03
3.5, 2, 3.83201207162936 3.5, 2, 3.8320120716293600
35, 2, 1.0695052240857E+14 // Calculation of values above 30/below -30 use the approximation 35, 2, 1.0129348967887200E+14
-35, 2, 1.06950522408568E+14 // method in PHPExcel (like in Open/Libre Office), so -35, 2, 1.0129348967887200E+14
-35, 3, -1.06950522408568E+14 // results are matched against Libre Office result. -35, 3, -9.4217724797020600E+13
-35, 4, 1.06950522408568E+14 -35, 4, 8.5141821583727800E+13
1.5, "XYZ", "#VALUE!" 1.5, "XYZ", "#VALUE!"
"ABC", 3, "#VALUE!" "ABC", 3, "#VALUE!"
-9, 1, -1030.914709 -9, 1, -1.0309147086534900E+03
-3.5, 1, -6.205834932 -3.5, 1, -6.2058349320630000
-0.735, 1, -0.392881517 -0.735, 1, -3.9288151661176300E-01
0, 1, 0 0, 1, 0.0
0.035, 1, 0.01750268 0.035, 1, 1.7502679823335300E-02
1, 1, 0.565159098 1, 1, 5.6515909758194300E-01
1.5, 1, 0.981666428 1.5, 1, 9.8166642847516600E-01
2.5, 1, 2.516716242 2.5, 1, 2.5167162420253600
3.5, 1, 6.205834932 3.5, 1, 6.2058349320630000
-9, 2, 864.4962206 -9, 2, 8.6449622063929800E+02
-3.5, 2, 3.832012072 -3.5, 2, 3.8320120716293600
-0.735, 2, 0.070619941 -0.735, 2, 7.0619941066585700E-02
0, 2, 0 0, 2, 0.0
0.035, 2, 0.000153141 0.035, 2, 1.5314063208086000E-04
0.9, 2, 0.108259722 0.9, 2, 1.0825972222234100E-01
1, 2, 0.135747667 1, 2, 1.3574766658069900E-01
1.9, 2, 0.603272435 1.9, 2, 6.0327243548745000E-01
2.5, 2, 1.276466159 2.5, 2, 1.2764661588156100
3.5, 2, 3.832012072 3.5, 2, 3.8320120716293600
4, 2, 6.422189499 4, 2, 6.4221894991960900
0.035, 3, 8.93298E-07 0.035, 3, 8.9329755645604500E-07
0.7, 3, 0.007367373 0.7, 3, 7.3673733669342700E-03
0.89, 3, 0.015428503 0.89, 3, 1.5428502532466100E-02
4, 3, 3.337275843 4, 3, 3.3372758428109200
4, 5, 0.504724373 4, 5, 5.0472437285149600E-01
1.5, 7, 2.84064E-05 1.5, 7, 2.8406417355214300E-05
3, 9, 0.000132373 3, 9, 1.3237298826652200E-04
-3.5, 0, 7.378203478 -3.5, 0, 7.3782034775718600
-1.5, 0, 1.646723202 -1.5, 0, 1.6467232021476800
0, 0, 1 0, 0, 1.0
1, 0, 1.266065848 1, 0, 1.2660658480342600
1.5, 0, 1.646723202 1.5, 0, 1.6467232021476800
2.5, 0, 3.289839172 2.5, 0, 3.2898391723912900
3.5, 0, 7.378203478 3.5, 0, 7.3782034775718600
-3.5, -1, "#NUM!" -3.5, -1, "#NUM!"
TRUE, 1, "#VALUE!" TRUE, 1, "#VALUE!"
1, TRUE, "#VALUE!" 1, TRUE, "#VALUE!"
21, 2, 104777856.3 21, 2, 1.0477785626593200E+08

View File

@ -1,37 +1,37 @@
1.5, -1, "#NUM!" 1.5, -1, "#NUM!"
0, 1, 0.0 0, 1, 0.0
1, 1, 4.40050585677130E-01 1, 1, 4.4005058567713000E-01
1, 5, 2.49757730211234E-04 1, 5, 2.4975773021123400E-04
1.9, 2, 3.29925828669785E-01 1.9, 2, 3.2992582866978500E-01
-2.5, 1.5, -4.97094102504422E-01 -2.5, 1.5, -4.9709410250442200E-01
3.5, 1, 1.37377527178186E-01 3.5, 1, 1.3737752717818600E-01
0.89, 3, 1.39740040278808E-02 0.89, 3, 1.3974004027880800E-02
3.5, 2, 4.58629184768290E-01 3.5, 2, 4.5862918476829000E-01
35, 2, 1.29359450880863E-01 // Calculation of values above 30/below -30 use the approximation 35, 2, 1.2935945082689100E-01
-35, 2, 1.29359450880863E-01 // method in PHPExcel (like in Open/Libre Office), so -35, 2, 1.2935945082689100E-01
-35, 3, 2.92070049360984E-02 // results are matched against Libre Office result. -35, 3, 2.9207004782372000E-02
-35, 4, -1.34366366012765E-01 -35, 4, -1.3436636593244100E-01
1.5, "XYZ", "#VALUE!" 1.5, "XYZ", "#VALUE!"
"ABC", 3, "#VALUE!" "ABC", 3, "#VALUE!"
-3.5, 1, -0.137377527 -3.5, 1, -1.3737752717818600E-01
-0.735, 1, -0.343235775 -0.735, 1, -3.4323577520309400E-01
0, 1, 0 0, 1, 0.0
0.035, 1, 0.01749732 0.035, 1, 1.7497320451918700E-02
1.5, 1, 0.557936508 1.5, 1, 5.5793650789080400E-01
2.5, 1, 0.497094103 2.5, 1, 4.9709410250442200E-01
3.5, 1, 0.137377527 3.5, 1, 1.3737752717818600E-01
-9, 2, 0.144846369 -9, 2, 1.4484636919412800E-01
-0.735, 2, 0.064538956 -0.735, 2, 6.4538955636373900E-02
0, 2, 0 0, 2, 0.0
0.9, 2, 0.094586304 0.9, 2, 9.4586304292255000E-02
1.9, 2, 0.329925829 1.9, 2, 3.2992582866978500E-01
0.035, 2, 0.000153109 0.035, 2, 1.5310936908796500E-04
3.5, 2, 0.458629185 3.5, 2, 4.5862918476829000E-01
4, 2, 0.364128143 4, 2, 3.6412814319431200E-01
0.035, 3, 8.93161E-07 0.035, 3, 8.9316078090293600E-07
0.7, 3, 0.006929655 0.7, 3, 6.9296548267509400E-03
0.89, 3, 0.013974004 0.89, 3, 1.3974004027880800E-02
4, 3, 0.430171471 4, 3, 4.3017147115339600E-01
4, 5, 0.132086656 4, 5, 1.3208665605594800E-01
1.5, 7, 2.46798E-05 1.5, 7, 2.4679795788287900E-05
3, 9, 8.4395E-05 3, 9, 8.4395021309091800E-05

View File

@ -1,38 +1,38 @@
1.5, -1, "#NUM!" 1.5, -1, "#NUM!"
0, 2, "#NUM!" 0, 2, "#NUM!"
0.1, 3, 7.99001243265865E+03 0.1, 3, 7.9900124326586500E+03
1, 0, 4.21024421083418E-01 1, 0, 4.2102442108341800E-01
1.5, 0, 2.13805569323654E-01 1.5, 0, 2.1380556932365400E-01
-1.5, 2, "#NUM!" -1.5, 2, "#NUM!"
1.5, 1, 2.77387803632259E-01 1.5, 1, 2.7738780363225900E-01
1.5, 2, 5.83655974166666E-01 1.5, 2, 5.8365597416666600E-01
2.3, 1.5, 9.49824471429594E-02 2.3, 1.5, 9.4982447142959400E-02
2.5, 1, 7.38908156502669E-02 2.5, 1, 7.3890815650266900E-02
3.5, 1, 2.22393932246407E-02 3.5, 1, 2.2239393224640700E-02
3.5, 3, 5.91618179913482E-02 3.5, 3, 5.9161817991348200E-02
3, 9, 3.97958801062385E+02 3, 9, 3.9795880106238500E+02
3.5, 2, 3.23071216708690E-02 3.5, 2, 3.2307121670869000E-02
1.5, "XYZ", "#VALUE!" 1.5, "XYZ", "#VALUE!"
"ABC", 3, "#VALUE!" "ABC", 3, "#VALUE!"
-3.5, 1, "#NUM!" -3.5, 1, "#NUM!"
-0.735, 1, "#NUM!" -0.735, 1, "#NUM!"
0, 1, "#NUM!" 0, 1, "#NUM!"
0.035, 1, 28.50197 0.035, 1, 2.8501970000186900E+01
1.5, 1, 0.277387804 1.5, 1, 2.7738780363225900E-01
2.5, 1, 0.073890816 2.5, 1, 7.3890815650266900E-02
3.5, 1, 0.022239393 3.5, 1, 2.2239393224640700E-02
-9, 2, "#NUM!" -9, 2, "#NUM!"
-0.735, 2, "#NUM!" -0.735, 2, "#NUM!"
0, 2, "#NUM!" 0, 2, "#NUM!"
0.9, 2, 2.07902713 0.9, 2, 2.0790271301014400
1.9, 2, 0.296909301 1.9, 2, 2.9690930137427500E-01
0.035, 2, 1632.153707 0.035, 2, 1.6321537072931900E+03
3.5, 2, 0.032307122 3.5, 2, 3.2307121670869000E-02
4, 2, 0.017401426 4, 2, 1.7401425543547400E-02
0.035, 3, 186560.3542 0.035, 3, 1.8656035423207900E+05
0.7, 3, 21.97216891 0.7, 3, 2.1972168909566600E+01
0.89, 3, 10.31747308 0.89, 3, 1.0317473075007600E+01
4, 3, 0.029884924 4, 3, 2.9884924431707800E-02
4, 5, 0.154342549 4, 5, 1.5434254881392600E-01
1.5, 7, 2457.700453 1.5, 7, 2.4577004526116700E+03
3, 9, 397.9588011 3, 9, 3.9795880106238500E+02

View File

@ -1,37 +1,37 @@
1.5, -1, "#NUM!" 1.5, -1, "#NUM!"
1.23, 45.67, -2.70273112611750E+63 1.23, 45.67, -2.7027311261175000E+63
2.5, 0, 4.98070358446689E-01 2.5, 0, 4.9807035844668900E-01
2.5, 1, 1.45918137508313E-01 2.5, 1, 1.4591813750831300E-01
2.5, 2, -3.81335848440038E-01 2.5, 2, -3.8133584844003800E-01
3.5, 1, 4.10188416627698E-01 3.5, 1, 4.1018841662769800E-01
3.5, 3, -3.58335346436229E-01 3.5, 3, -3.5833534643622900E-01
4, 2, 2.15903599106990E-01 4, 2, 2.1590359910699000E-01
3.5, 2, 4.53714364175350E-02 3.5, 2, 4.5371436417535000E-02
12.5, 0, -1.71214306844669E-01 12.5, 0, -1.7121430684466900E-01
12.5, 1, -1.53838256351639E-01 12.5, 1, -1.5383825635163900E-01
12.5, 2, 1.46600185868054E-01 12.5, 2, 1.4660018586805400E-01
12.5, 22, -3.57603435038787E+02 12.5, 22, -3.5760343503878700E+02
1.5, "XYZ", "#VALUE!" 1.5, "XYZ", "#VALUE!"
"ABC", 3, "#VALUE!" "ABC", 3, "#VALUE!"
-3.5, 1, "#NUM!" -3.5, 1, "#NUM!"
-0.735, 1, "#NUM!" -0.735, 1, "#NUM!"
0, 1, "#NUM!" 0, 1, "#NUM!"
0.035, 1, -18.23333894 0.035, 1, -1.8233338940000000E+01
1.5, 1, -0.412308627 1.5, 1, -4.1230862700000000E-01
2.5, 1, 0.145918138 2.5, 1, 1.4591813800000000E-01
3.5, 1, 0.410188417 3.5, 1, 4.1018841700000000E-01
-9, 2, "#NUM!" -9, 2, "#NUM!"
-0.735, 2, "#NUM!" -0.735, 2, "#NUM!"
0, 2, "#NUM!" 0, 2, "#NUM!"
0.9, 2, -1.945909607 0.9, 2, -1.9459096070000000
1.9, 2, -0.669878674 1.9, 2, -6.6987867400000000E-01
0.035, 2, -1039.697941 0.035, 2, -1.0396979410000000E+03
3.5, 2, 0.045371436 3.5, 2, 4.5371436000000000E-02
4, 2, 0.215903599 4, 2, 2.1590359900000000E-01
0.035, 3, -118804.3884 0.035, 3, -1.1880438840000000E+05
0.7, 3, -15.81947907 0.7, 3, -1.5819479070000000E+01
0.89, 3, -8.020441252 0.89, 3, -8.0204412520000000
4, 3, -0.18202211 4, 3, -1.8202211000000000E-01
4, 5, -0.795851418 4, 5, -7.9585141800000000E-01
1.5, 7, -1887.397034 1.5, 7, -1.8873970340000000E+03
3, 9, -444.9595071 3, 9, -4.4495950710000000E+02

View File

@ -16,3 +16,5 @@
"-12.34-5.67j", "123.45-67.89", "#NUM!" "-12.34-5.67j", "123.45-67.89", "#NUM!"
"-12.34-5.67", "123.45-67.89j", "#NUM!" "-12.34-5.67", "123.45-67.89j", "#NUM!"
"-12.34-5.67i", "-12.34-5.67i", "1" "-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"

View File

@ -12,3 +12,7 @@
"2.5i", "2.5i", "#VALUE!" "2.5i", "2.5i", "#VALUE!"
"2.5", "2.5", 9.88211768802619 "2.5", "2.5", 9.88211768802619
"2", "2", 4 "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"

View File

@ -11,3 +11,5 @@
"12.34+5.67i", "-123.45+67.89i", "-1908.3093+137.8011i" "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-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"

View File

@ -3,3 +3,4 @@
65, "A" 65, "A"
123, "{" 123, "{"
126, "~" 126, "~"