org.apache.poi.ss.formula.functions
Class Complex
java.lang.Object
org.apache.poi.ss.formula.functions.Complex
- All Implemented Interfaces:
- FreeRefFunction, Function, Function2Arg, Function3Arg
public class Complex
- extends java.lang.Object
- implements FreeRefFunction
Implementation for Excel COMPLEX () function.
Syntax:
COMPLEX (real_num,i_num,suffix )
Converts real and imaginary coefficients into a complex number of the form x + yi or x + yj.
All complex number functions accept "i" and "j" for suffix, but neither "I" nor "J".
Using uppercase results in the #VALUE! error value. All functions that accept two
or more complex numbers require that all suffixes match.
real_num The real coefficient of the complex number.
If this argument is nonnumeric, this function returns the #VALUE! error value.
i_num The imaginary coefficient of the complex number.
If this argument is nonnumeric, this function returns the #VALUE! error value.
suffix The suffix for the imaginary component of the complex number.
- If omitted, suffix is assumed to be "i".
- If suffix is neither "i" nor "j", COMPLEX returns the #VALUE! error value.
- Author:
- cedric dot walter @ gmail dot com
Method Summary |
ValueEval |
evaluate(int srcRowIndex,
int srcColumnIndex,
ValueEval real_num,
ValueEval i_num)
see Function.evaluate(ValueEval[], int, int) |
ValueEval |
evaluate(int srcRowIndex,
int srcColumnIndex,
ValueEval real_num,
ValueEval i_num,
ValueEval suffix)
see Function.evaluate(ValueEval[], int, int) |
ValueEval |
evaluate(ValueEval[] args,
int srcRowIndex,
int srcColumnIndex)
|
ValueEval |
evaluate(ValueEval[] args,
OperationEvaluationContext ec)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
instance
public static final FreeRefFunction instance
DEFAULT_SUFFIX
public static final java.lang.String DEFAULT_SUFFIX
- See Also:
- Constant Field Values
SUPPORTED_SUFFIX
public static final java.lang.String SUPPORTED_SUFFIX
- See Also:
- Constant Field Values
Complex
public Complex()
evaluate
public ValueEval evaluate(int srcRowIndex,
int srcColumnIndex,
ValueEval real_num,
ValueEval i_num)
- Description copied from interface:
Function2Arg
- see
Function.evaluate(ValueEval[], int, int)
- Specified by:
evaluate
in interface Function2Arg
evaluate
public ValueEval evaluate(int srcRowIndex,
int srcColumnIndex,
ValueEval real_num,
ValueEval i_num,
ValueEval suffix)
- Description copied from interface:
Function3Arg
- see
Function.evaluate(ValueEval[], int, int)
- Specified by:
evaluate
in interface Function3Arg
evaluate
public ValueEval evaluate(ValueEval[] args,
OperationEvaluationContext ec)
- Specified by:
evaluate
in interface FreeRefFunction
- Parameters:
args
- the pre-evaluated arguments for this function. args is never null
,
nor are any of its elements.ec
- primarily used to identify the source cell containing the formula being evaluated.
may also be used to dynamically create reference evals.
- Returns:
- never
null
. Possibly an instance of ErrorEval in the case of
a specified Excel error (Exceptions are never thrown to represent Excel errors).
evaluate
public final ValueEval evaluate(ValueEval[] args,
int srcRowIndex,
int srcColumnIndex)
- Specified by:
evaluate
in interface Function
- Parameters:
args
- the evaluated function arguments. Empty values are represented with
BlankEval
or MissingArgEval
, never null
.srcRowIndex
- row index of the cell containing the formula under evaluationsrcColumnIndex
- column index of the cell containing the formula under evaluation
- Returns:
- The evaluated result, possibly an
ErrorEval
, never null
.
Note - Excel uses the error code #NUM! instead of IEEE NaN, so when
numeric functions evaluate to Double.NaN
be sure to translate the result to ErrorEval.NUM_ERROR
.
Copyright 2014 The Apache Software Foundation or
its licensors, as applicable.