## GOQuad GOQuad |

## Functions

void | go_quad_add ()
void | go_quad_addl ()
void | go_quad_div ()
void | go_quad_divl ()
void | go_quad_dot_product ()
void | go_quad_dot_productl ()
void | go_quad_end ()
void | go_quad_endl ()
gboolean | go_quad_functional ()
gboolean | go_quad_functionall ()
void | go_quad_init ()
void | go_quad_initl ()
void | go_quad_mul ()
void | go_quad_mul12 ()
void | go_quad_mul12l ()
void | go_quad_mull ()
void | go_quad_sqrt ()
void | go_quad_sqrtl ()
void * | go_quad_start ()
void * | go_quad_startl ()
void | go_quad_sub ()
void | go_quad_subl ()
double | go_quad_value ()
long double | go_quad_valuel ()
void | go_quad_acos ()
void | go_quad_acosl ()
void | go_quad_asin ()
void | go_quad_asinl ()
void | go_quad_atan2 ()
void | go_quad_atan2l ()
void | go_quad_atan2pi ()
void | go_quad_atan2pil ()
void | go_quad_constant8 ()
void | go_quad_constant8l ()
void | go_quad_cos ()
void | go_quad_cosl ()
void | go_quad_cospi ()
void | go_quad_cospil ()
void | go_quad_exp ()
void | go_quad_expl ()
void | go_quad_expm1 ()
void | go_quad_expm1l ()
void | go_quad_floor ()
void | go_quad_floorl ()
void | go_quad_hypot ()
void | go_quad_hypotl ()
void | go_quad_log ()
void | go_quad_logl ()
void | go_quad_pow ()
void | go_quad_powl ()
void | go_quad_sin ()
void | go_quad_sinl ()
void | go_quad_sinpi ()
void | go_quad_sinpil ()
double | go_sinpi ()
long double | go_sinpil ()
double | go_tanpi ()
long double | go_tanpil ()

## Object Hierarchy

## Description

## Functions

### go_quad_add ()

    void
    go_quad_add (GOQuad *res,
                 const GOQuad *a,
                 const GOQuad *b);

### go_quad_addl ()

    void
    go_quad_addl (GOQuadl *res,
                  const GOQuadl *a,
                  const GOQuadl *b);

### go_quad_div ()

    void
    go_quad_div (GOQuad *res,
                 const GOQuad *a,
                 const GOQuad *b);

### go_quad_divl ()

    void
    go_quad_divl (GOQuadl *res,
                  const GOQuadl *a,
                  const GOQuadl *b);

### go_quad_dot_product ()

    void
    go_quad_dot_product (GOQuad *res,
                         const GOQuad *a,
                         const GOQuad *b,
                         int n);

### go_quad_dot_productl ()

    void
    go_quad_dot_productl (GOQuadl *res,
                          const GOQuadl *a,
                          const GOQuadl *b,
                          int n);

### go_quad_end ()

    void
    go_quad_end (void *state);

### go_quad_endl ()

    void
    go_quad_endl (void *state);

### go_quad_functional ()

    gboolean
    go_quad_functional (void);

#### Returns

### go_quad_functionall ()

    gboolean
    go_quad_functionall (void);

#### Returns

### go_quad_init ()

    void
    go_quad_init (GOQuad *res,
                  double h);

### go_quad_initl ()

    void
    go_quad_initl (GOQuadl *res,
                   long double h);

### go_quad_mul ()

    void
    go_quad_mul (GOQuad *res,
                 const GOQuad *a,
                 const GOQuad *b);

### go_quad_mul12 ()

    void
    go_quad_mul12 (GOQuad *res,
                   double x,
                   double y);

### go_quad_mul12l ()

    void
    go_quad_mul12l (GOQuadl *res,
                    long double x,
                    long double y);

### go_quad_mull ()

    void
    go_quad_mull (GOQuadl *res,
                  const GOQuadl *a,
                  const GOQuadl *b);

### go_quad_sqrt ()

    void
    go_quad_sqrt (GOQuad *res,
                  const GOQuad *a);

### go_quad_sqrtl ()

    void
    go_quad_sqrtl (GOQuadl *res,
                   const GOQuadl *a);

### go_quad_start ()

    void *
    go_quad_start (void);

Initializes GOQuad arythmetics. Any use of GOQuad must occur between calls to `go_quad_start()` and `go_quad_end()`.

#### Returns

a pointer to pass to `go_quad_end()` when done.

[transfer full]

### go_quad_startl ()

    void *
    go_quad_startl (void);

Initializes GOQuadl arythmetics. Any use of GOQuadl must occur between calls to `go_quad_startl()` and `go_quad_endl()`.

#### Returns

a pointer to pass to `go_quad_endl()` when done.

[transfer full]

### go_quad_sub ()

    void
    go_quad_sub (GOQuad *res,
                 const GOQuad *a,
                 const GOQuad *b);

### go_quad_subl ()

    void
    go_quad_subl (GOQuadl *res,
                  const GOQuadl *a,
                  const GOQuadl *b);

### go_quad_value ()

    double
    go_quad_value (const GOQuad *a);

#### Returns

### go_quad_valuel ()

    long double
    go_quad_valuel (const GOQuadl *a);

#### Returns

### go_quad_acos ()

    void
    go_quad_acos (GOQuad *res,
                  const GOQuad *a);

### go_quad_acosl ()

    void
    go_quad_acosl (GOQuadl *res,
                   const GOQuadl *a);

### go_quad_asin ()

    void
    go_quad_asin (GOQuad *res,
                  const GOQuad *a);

### go_quad_asinl ()

    void
    go_quad_asinl (GOQuadl *res,
                   const GOQuadl *a);

### go_quad_atan2 ()

    void
    go_quad_atan2 (GOQuad *res,
                   const GOQuad *y,
                   const GOQuad *x);

### go_quad_atan2l ()

    void
    go_quad_atan2l (GOQuadl *res,
                    const GOQuadl *y,
                    const GOQuadl *x);

### go_quad_atan2pi ()

    void
    go_quad_atan2pi (GOQuad *res,
                     const GOQuad *y,
                     const GOQuad *x);

### go_quad_atan2pil ()

    void
    go_quad_atan2pil (GOQuadl *res,
                      const GOQuadl *y,
                      const GOQuadl *x);

### go_quad_constant8 ()

    void
    go_quad_constant8 (GOQuad *res,
                       const guint8 *data,
                       gsize n,
                       double base,
                       double scale);

### go_quad_constant8l ()

    void
    go_quad_constant8l (GOQuadl *res,
                        const guint8 *data,
                        gsize n,
                        long double base,
                        long double scale);

### go_quad_cos ()

    void
    go_quad_cos (GOQuad *res,
                 const GOQuad *a);

### go_quad_cosl ()

    void
    go_quad_cosl (GOQuadl *res,
                  const GOQuadl *a);

### go_quad_cospi ()

    void
    go_quad_cospi (GOQuad *res,
                   const GOQuad *a);

### go_quad_cospil ()

    void
    go_quad_cospil (GOQuadl *res,
                    const GOQuadl *a);

### go_quad_exp ()

    void
    go_quad_exp (GOQuad *res,
                 double *exp2,
                 const GOQuad *a);

### go_quad_expl ()

    void
    go_quad_expl (GOQuadl *res,
                  long double *exp2,
                  const GOQuadl *a);

### go_quad_expm1 ()

    void
    go_quad_expm1 (GOQuad *res,
                   const GOQuad *a);

### go_quad_expm1l ()

    void
    go_quad_expm1l (GOQuadl *res,
                    const GOQuadl *a);

### go_quad_floor ()

    void
    go_quad_floor (GOQuad *res,
                   const GOQuad *a);

### go_quad_floorl ()

    void
    go_quad_floorl (GOQuadl *res,
                    const GOQuadl *a);

### go_quad_hypot ()

    void
    go_quad_hypot (GOQuad *res,
                   const GOQuad *a,
                   const GOQuad *b);

### go_quad_hypotl ()

    void
    go_quad_hypotl (GOQuadl *res,
                    const GOQuadl *a,
                    const GOQuadl *b);

### go_quad_log ()

    void
    go_quad_log (GOQuad *res,
                 const GOQuad *a);

### go_quad_logl ()

    void
    go_quad_logl (GOQuadl *res,
                  const GOQuadl *a);

### go_quad_pow ()

    void
    go_quad_pow (GOQuad *res,
                 double *exp2,
                 const GOQuad *x,
                 const GOQuad *y);

### go_quad_powl ()

    void
    go_quad_powl (GOQuadl *res,
                  long double *exp2,
                  const GOQuadl *x,
                  const GOQuadl *y);

### go_quad_sin ()

    void
    go_quad_sin (GOQuad *res,
                 const GOQuad *a);

### go_quad_sinl ()

    void
    go_quad_sinl (GOQuadl *res,
                  const GOQuadl *a);

### go_quad_sinpi ()

    void
    go_quad_sinpi (GOQuad *res,
                   const GOQuad *a);

### go_quad_sinpil ()

    void
    go_quad_sinpil (GOQuadl *res,
                    const GOQuadl *a);

### go_sinpi ()

    double
    go_sinpi (double x);

#### Parameters

x | a number |

#### Returns

the sine of Pi times `x` , but with less error than doing the multiplication outright.

### go_sinpil ()

    long double
    go_sinpil (long double x);

#### Parameters

x | a number |

#### Returns

the sine of Pi times `x` , but with less error than doing the multiplication outright.

### go_tanpi ()

    double
    go_tanpi (double x);

#### Parameters

x | a number |

#### Returns

the tangent of Pi times `x` , but with less error than doing the multiplication outright.

### go_tanpil ()

    long double
    go_tanpil (long double x);

#### Parameters

x | a number |

#### Returns

the tangent of Pi times `x` , but with less error than doing the multiplication outright.

## Types and Values