## GOComplex

GOComplex

## Synopsis

    void                go_complex_add                      (GOComplex *dst,
                                                             GOComplex const *a,
                                                             GOComplex const *b);
    void                go_complex_addl                     (GOComplexl *dst,
                                                             GOComplexl const *a,
                                                             GOComplexl const *b);
    double              go_complex_angle                    (GOComplex const *src);
    double              go_complex_angle_pi                 (GOComplex const *src);
    long double         go_complex_angle_pil                (GOComplexl const *src);
    long double         go_complex_anglel                   (GOComplexl const *src);
    void                go_complex_conj                     (GOComplex *dst,
                                                             GOComplex const *src);
    void                go_complex_conjl                    (GOComplexl *dst,
                                                             GOComplexl const *src);
    void                go_complex_cos                      (GOComplex *dst,
                                                             GOComplex const *src);
    void                go_complex_cosl                     (GOComplexl *dst,
                                                             GOComplexl const *src);
    void                go_complex_div                      (GOComplex *dst,
                                                             GOComplex const *a,
                                                             GOComplex const *b);
    void                go_complex_divl                     (GOComplexl *dst,
                                                             GOComplexl const *a,
                                                             GOComplexl const *b);
    void                go_complex_exp                      (GOComplex *dst,
                                                             GOComplex const *src);
    void                go_complex_expl                     (GOComplexl *dst,
                                                             GOComplexl const *src);
    void                go_complex_from_polar               (GOComplex *dst,
                                                             double mod,
                                                             double angle);
    void                go_complex_from_polarl              (GOComplexl *dst,
                                                             long double mod,
                                                             long double angle);
    int                 go_complex_from_string              (GOComplex *dst,
                                                             char const *src,
                                                             char *imunit);
    int                 go_complex_from_stringl             (GOComplexl *dst,
                                                             char const *src,
                                                             char *imunit);
    void                go_complex_init                     (GOComplex *dst,
                                                             double re,
                                                             double im);
    void                go_complex_initl                    (GOComplexl *dst,
                                                             long double re,
                                                             long double im);
    void                go_complex_invalid                  (GOComplex *dst);
    int                 go_complex_invalid_p                (GOComplex const *src);
    int                 go_complex_invalid_pl               (GOComplexl const *src);
    void                go_complex_invalidl                 (GOComplexl *dst);
    void                go_complex_ln                       (GOComplex *dst,
                                                             GOComplex const *src);
    void                go_complex_lnl                      (GOComplexl *dst,
                                                             GOComplexl const *src);
    double              go_complex_mod                      (GOComplex const *src);
    long double         go_complex_modl                     (GOComplexl const *src);
    void                go_complex_mul                      (GOComplex *dst,
                                                             GOComplex const *a,
                                                             GOComplex const *b);
    void                go_complex_mull                     (GOComplexl *dst,
                                                             GOComplexl const *a,
                                                             GOComplexl const *b);
    void                go_complex_pow                      (GOComplex *dst,
                                                             GOComplex const *a,
                                                             GOComplex const *b);
    void                go_complex_powl                     (GOComplexl *dst,
                                                             GOComplexl const *a,
                                                             GOComplexl const *b);
    void                go_complex_real                     (GOComplex *dst,
                                                             double re);
    int                 go_complex_real_p                   (GOComplex const *src);
    int                 go_complex_real_pl                  (GOComplexl const *src);
    void                go_complex_reall                    (GOComplexl *dst,
                                                             long double re);
    void                go_complex_scale_real               (GOComplex *dst,
                                                             double f);
    void                go_complex_scale_reall              (GOComplexl *dst,
                                                             long double f);
    void                go_complex_sin                      (GOComplex *dst,
                                                             GOComplex const *src);
    void                go_complex_sinl                     (GOComplexl *dst,
                                                             GOComplexl const *src);
    void                go_complex_sqrt                     (GOComplex *dst,
                                                             GOComplex const *src);
    void                go_complex_sqrtl                    (GOComplexl *dst,
                                                             GOComplexl const *src);
    void                go_complex_sub                      (GOComplex *dst,
                                                             GOComplex const *a,
                                                             GOComplex const *b);
    void                go_complex_subl                     (GOComplexl *dst,
                                                             GOComplexl const *a,
                                                             GOComplexl const *b);
    void                go_complex_tan                      (GOComplex *dst,
                                                             GOComplex const *src);
    void                go_complex_tanl                     (GOComplexl *dst,
                                                             GOComplexl const *src);
    void                go_complex_to_polar                 (double *mod,
                                                             double *angle,
                                                             GOComplex const *src);
    void                go_complex_to_polarl                (long double *mod,
                                                             long double *angle,
                                                             GOComplexl const *src);
    char *              go_complex_to_string                (GOComplex const *src,
                                                             char const *reformat,
                                                             char const *imformat,
                                                             char imunit);
    char *              go_complex_to_stringl               (GOComplexl const *src,
                                                             char const *reformat,
                                                             char const *imformat,
                                                             char imunit);
    int                 go_complex_zero_p                   (GOComplex const *src);
    int                 go_complex_zero_pl                  (GOComplexl const *src);

## Description

## Details

### go_complex_add ()

    void                go_complex_add                      (GOComplex *dst,
                                                             GOComplex const *a,
                                                             GOComplex const *b);

### go_complex_addl ()

    void                go_complex_addl                     (GOComplexl *dst,
                                                             GOComplexl const *a,
                                                             GOComplexl const *b);

### go_complex_angle ()

    double              go_complex_angle                    (GOComplex const *src);

### go_complex_angle_pi ()

    double              go_complex_angle_pi                 (GOComplex const *src);

### go_complex_angle_pil ()

    long double         go_complex_angle_pil                (GOComplexl const *src);

### go_complex_anglel ()

    long double         go_complex_anglel                   (GOComplexl const *src);

### go_complex_conj ()

    void                go_complex_conj                     (GOComplex *dst,
                                                             GOComplex const *src);

### go_complex_conjl ()

    void                go_complex_conjl                    (GOComplexl *dst,
                                                             GOComplexl const *src);

### go_complex_cos ()

    void                go_complex_cos                      (GOComplex *dst,
                                                             GOComplex const *src);

### go_complex_cosl ()

    void                go_complex_cosl                     (GOComplexl *dst,
                                                             GOComplexl const *src);

### go_complex_div ()

    void                go_complex_div                      (GOComplex *dst,
                                                             GOComplex const *a,
                                                             GOComplex const *b);

### go_complex_divl ()

    void                go_complex_divl                     (GOComplexl *dst,
                                                             GOComplexl const *a,
                                                             GOComplexl const *b);

### go_complex_exp ()

    void                go_complex_exp                      (GOComplex *dst,
                                                             GOComplex const *src);

### go_complex_expl ()

    void                go_complex_expl                     (GOComplexl *dst,
                                                             GOComplexl const *src);

### go_complex_from_polar ()

    void                go_complex_from_polar               (GOComplex *dst,
                                                             double mod,
                                                             double angle);

### go_complex_from_polarl ()

    void                go_complex_from_polarl              (GOComplexl *dst,
                                                             long double mod,
                                                             long double angle);

### go_complex_from_string ()

    int                 go_complex_from_string              (GOComplex *dst,
                                                             char const *src,
                                                             char *imunit);

### go_complex_from_stringl ()

    int                 go_complex_from_stringl             (GOComplexl *dst,
                                                             char const *src,
                                                             char *imunit);

### go_complex_init ()

    void                go_complex_init                     (GOComplex *dst,
                                                             double re,
                                                             double im);

### go_complex_initl ()

    void                go_complex_initl                    (GOComplexl *dst,
                                                             long double re,
                                                             long double im);

### go_complex_invalid ()

    void                go_complex_invalid                  (GOComplex *dst);

### go_complex_invalid_p ()

    int                 go_complex_invalid_p                (GOComplex const *src);

### go_complex_invalid_pl ()

    int                 go_complex_invalid_pl               (GOComplexl const *src);

### go_complex_invalidl ()

    void                go_complex_invalidl                 (GOComplexl *dst);

### go_complex_ln ()

    void                go_complex_ln                       (GOComplex *dst,
                                                             GOComplex const *src);

### go_complex_lnl ()

    void                go_complex_lnl                      (GOComplexl *dst,
                                                             GOComplexl const *src);

### go_complex_mod ()

    double              go_complex_mod                      (GOComplex const *src);

### go_complex_modl ()

    long double         go_complex_modl                     (GOComplexl const *src);

### go_complex_mul ()

    void                go_complex_mul                      (GOComplex *dst,
                                                             GOComplex const *a,
                                                             GOComplex const *b);

### go_complex_mull ()

    void                go_complex_mull                     (GOComplexl *dst,
                                                             GOComplexl const *a,
                                                             GOComplexl const *b);

### go_complex_pow ()

    void                go_complex_pow                      (GOComplex *dst,
                                                             GOComplex const *a,
                                                             GOComplex const *b);

### go_complex_powl ()

    void                go_complex_powl                     (GOComplexl *dst,
                                                             GOComplexl const *a,
                                                             GOComplexl const *b);

### go_complex_real ()

    void                go_complex_real                     (GOComplex *dst,
                                                             double re);

### go_complex_real_p ()

    int                 go_complex_real_p                   (GOComplex const *src);

### go_complex_real_pl ()

    int                 go_complex_real_pl                  (GOComplexl const *src);

### go_complex_reall ()

    void                go_complex_reall                    (GOComplexl *dst,
                                                             long double re);

### go_complex_scale_real ()

    void                go_complex_scale_real               (GOComplex *dst,
                                                             double f);

### go_complex_scale_reall ()

    void                go_complex_scale_reall              (GOComplexl *dst,
                                                             long double f);

### go_complex_sin ()

    void                go_complex_sin                      (GOComplex *dst,
                                                             GOComplex const *src);

### go_complex_sinl ()

    void                go_complex_sinl                     (GOComplexl *dst,
                                                             GOComplexl const *src);

### go_complex_sqrt ()

    void                go_complex_sqrt                     (GOComplex *dst,
                                                             GOComplex const *src);

### go_complex_sqrtl ()

    void                go_complex_sqrtl                    (GOComplexl *dst,
                                                             GOComplexl const *src);

### go_complex_sub ()

    void                go_complex_sub                      (GOComplex *dst,
                                                             GOComplex const *a,
                                                             GOComplex const *b);

### go_complex_subl ()

    void                go_complex_subl                     (GOComplexl *dst,
                                                             GOComplexl const *a,
                                                             GOComplexl const *b);

### go_complex_tan ()

    void                go_complex_tan                      (GOComplex *dst,
                                                             GOComplex const *src);

### go_complex_tanl ()

    void                go_complex_tanl                     (GOComplexl *dst,
                                                             GOComplexl const *src);

### go_complex_to_polar ()

    void                go_complex_to_polar                 (double *mod,
                                                             double *angle,
                                                             GOComplex const *src);

### go_complex_to_polarl ()

    void                go_complex_to_polarl                (long double *mod,
                                                             long double *angle,
                                                             GOComplexl const *src);

### go_complex_to_string ()

    char *              go_complex_to_string                (GOComplex const *src,
                                                             char const *reformat,
                                                             char const *imformat,
                                                             char imunit);

### go_complex_to_stringl ()

    char *              go_complex_to_stringl               (GOComplexl const *src,
                                                             char const *reformat,
                                                             char const *imformat,
                                                             char imunit);

### go_complex_zero_p ()

    int                 go_complex_zero_p                   (GOComplex const *src);

### go_complex_zero_pl ()

    int                 go_complex_zero_pl                  (GOComplexl const *src);