## GoComplex

GoComplex

## Synopsis

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

## Description

## Details

### go_complex

    typedef struct {
    	double re, im;
    } go_complex;

### go_complexl

    typedef struct {
    	long double re, im;
    } go_complexl;

### go_complex_add ()

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

`dst` : |
`a` : |
`b` : |

### go_complex_addl ()

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

`dst` : |
`a` : |
`b` : |

### go_complex_angle ()

    double              go_complex_angle                    (go_complex const *src);

`src` : |
Returns : |

### go_complex_conj ()

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

`dst` : |
`src` : |

### go_complex_conjl ()

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

`dst` : |
`src` : |

### go_complex_cos ()

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

`dst` : |
`src` : |

### go_complex_cosl ()

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

`dst` : |
`src` : |

### go_complex_div ()

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

`dst` : |
`a` : |
`b` : |

### go_complex_divl ()

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

`dst` : |
`a` : |
`b` : |

### go_complex_exp ()

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

`dst` : |
`src` : |

### go_complex_expl ()

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

`dst` : |
`src` : |

### go_complex_from_polar ()

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

`dst` : |
`mod` : |
`angle` : |

### go_complex_from_polarl ()

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

`dst` : |
`mod` : |
`angle` : |

### go_complex_from_string ()

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

`dst` : |
`src` : |
`imunit` : |
Returns : |

### go_complex_from_stringl ()

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

`dst` : |
`src` : |
`imunit` : |
Returns : |

### go_complex_init ()

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

`dst` : |
`re` : |
`im` : |

### go_complex_initl ()

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

`dst` : |
`re` : |
`im` : |

### go_complex_ln ()

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

`dst` : |
`src` : |

### go_complex_lnl ()

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

`dst` : |
`src` : |

### go_complex_mod ()

    double              go_complex_mod                      (go_complex const *src);

`src` : |
Returns : |

### go_complex_mul ()

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

`dst` : |
`a` : |
`b` : |

### go_complex_mull ()

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

`dst` : |
`a` : |
`b` : |

### go_complex_pow ()

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

`dst` : |
`a` : |
`b` : |

### go_complex_powl ()

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

`dst` : |
`a` : |
`b` : |

### go_complex_real ()

    void                go_complex_real                     (go_complex *dst,
                                                             double re);

`dst` : |
`re` : |

### go_complex_real_p ()

    int                 go_complex_real_p                   (go_complex const *src);

`src` : |
Returns : |

### go_complex_real_pl ()

    int                 go_complex_real_pl                  (go_complexl const *src);

`src` : |
Returns : |

### go_complex_reall ()

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

`dst` : |
`re` : |

### go_complex_scale_real ()

    void                go_complex_scale_real               (go_complex *dst,
                                                             double f);

`dst` : |
`f` : |

### go_complex_scale_reall ()

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

`dst` : |
`f` : |

### go_complex_sin ()

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

`dst` : |
`src` : |

### go_complex_sinl ()

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

`dst` : |
`src` : |

### go_complex_sqrt ()

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

`dst` : |
`src` : |

### go_complex_sqrtl ()

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

`dst` : |
`src` : |

### go_complex_sub ()

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

`dst` : |
`a` : |
`b` : |

### go_complex_subl ()

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

`dst` : |
`a` : |
`b` : |

### go_complex_tan ()

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

`dst` : |
`src` : |

### go_complex_tanl ()

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

`dst` : |
`src` : |

### go_complex_to_polar ()

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

`mod` : |
`angle` : |
`src` : |

### go_complex_to_polarl ()

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

`mod` : |
`angle` : |
`src` : |

### go_complex_to_string ()

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

`src` : |
`reformat` : |
`imformat` : |
`imunit` : |
Returns : |

### go_complex_to_stringl ()

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

`src` : |
`reformat` : |
`imformat` : |
`imunit` : |
Returns : |

### go_complex_zero_p ()

    int                 go_complex_zero_p                   (go_complex const *src);

`src` : |
Returns : |

### go_complex_zero_pl ()

    int                 go_complex_zero_pl                  (go_complexl const *src);

`src` : |
Returns : |