org.apache.poi.ss.formula.functions

## Class Imaginary

- java.lang.Object
- - org.apache.poi.ss.formula.functions.Fixed1ArgFunction
  - - org.apache.poi.ss.formula.functions.Imaginary

- All Implemented Interfaces:
    FreeRefFunction, Function, Function1Arg

      public class Imaginary
      extends Fixed1ArgFunction
      implements FreeRefFunction

  Implementation for Excel IMAGINARY() function.

  Syntax:
  IMAGINARY (Inumber)

  Returns the imaginary coefficient of a complex number in x + yi or x + yj text format.

  Inumber is a complex number for which you want the imaginary coefficient.

  Remarks

  - Use COMPLEX to convert real and imaginary coefficients into a complex number.
  Author:
    cedric dot walter @ gmail dot com

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.util.regex.Pattern` | `COMPLEX_NUMBER_PATTERN`
    `static int` | `GROUP1_REAL_SIGN`
    `static java.lang.String` | `GROUP1_REAL_SIGN_REGEX`
    `static int` | `GROUP2_IMAGINARY_INTEGER_OR_DOUBLE`
    `static java.lang.String` | `GROUP2_REAL_INTEGER_OR_DOUBLE_REGEX`
    `static int` | `GROUP3_IMAGINARY_SIGN`
    `static java.lang.String` | `GROUP3_IMAGINARY_SIGN_REGEX`
    `static int` | `GROUP4_IMAGINARY_INTEGER_OR_DOUBLE`
    `static java.lang.String` | `GROUP4_IMAGINARY_INTEGER_OR_DOUBLE_REGEX`
    `static java.lang.String` | `GROUP5_IMAGINARY_GROUP_REGEX`
    `static FreeRefFunction` | `instance`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Imaginary()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ValueEval` | `evaluate(int srcRowIndex, int srcColumnIndex, ValueEval inumberVE)` see `Function.evaluate(ValueEval[], int, int)`
    `ValueEval` | `evaluate(ValueEval[] args, OperationEvaluationContext ec)`

    - ### Methods inherited from class org.apache.poi.ss.formula.functions.Fixed1ArgFunction

      `evaluate`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### instance

          public static final FreeRefFunction instance

    - #### GROUP1_REAL_SIGN_REGEX

          public static final java.lang.String GROUP1_REAL_SIGN_REGEX

      See Also:
        Constant Field Values

    - #### GROUP2_REAL_INTEGER_OR_DOUBLE_REGEX

          public static final java.lang.String GROUP2_REAL_INTEGER_OR_DOUBLE_REGEX

      See Also:
        Constant Field Values

    - #### GROUP3_IMAGINARY_SIGN_REGEX

          public static final java.lang.String GROUP3_IMAGINARY_SIGN_REGEX

      See Also:
        Constant Field Values

    - #### GROUP4_IMAGINARY_INTEGER_OR_DOUBLE_REGEX

          public static final java.lang.String GROUP4_IMAGINARY_INTEGER_OR_DOUBLE_REGEX

      See Also:
        Constant Field Values

    - #### GROUP5_IMAGINARY_GROUP_REGEX

          public static final java.lang.String GROUP5_IMAGINARY_GROUP_REGEX

      See Also:
        Constant Field Values

    - #### COMPLEX_NUMBER_PATTERN

          public static final java.util.regex.Pattern COMPLEX_NUMBER_PATTERN

    - #### GROUP1_REAL_SIGN

          public static final int GROUP1_REAL_SIGN

      See Also:
        Constant Field Values

    - #### GROUP2_IMAGINARY_INTEGER_OR_DOUBLE

          public static final int GROUP2_IMAGINARY_INTEGER_OR_DOUBLE

      See Also:
        Constant Field Values

    - #### GROUP3_IMAGINARY_SIGN

          public static final int GROUP3_IMAGINARY_SIGN

      See Also:
        Constant Field Values

    - #### GROUP4_IMAGINARY_INTEGER_OR_DOUBLE

          public static final int GROUP4_IMAGINARY_INTEGER_OR_DOUBLE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Imaginary

          public Imaginary()

  - ### Method Detail

    - #### evaluate

          public ValueEval evaluate(int srcRowIndex,
                                    int srcColumnIndex,
                                    ValueEval inumberVE)

      Description copied from interface: `Function1Arg`
      see `Function.evaluate(ValueEval[], int, int)`
      Specified by:
        `evaluate` in interface `Function1Arg`

    - #### 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).

Copyright 2020 The Apache Software Foundation or its licensors, as applicable.