summaryrefslogtreecommitdiff
path: root/thirdparty/includes/GSL/gsl/gsl_sum.h
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/includes/GSL/gsl/gsl_sum.h')
-rw-r--r--thirdparty/includes/GSL/gsl/gsl_sum.h162
1 files changed, 0 insertions, 162 deletions
diff --git a/thirdparty/includes/GSL/gsl/gsl_sum.h b/thirdparty/includes/GSL/gsl/gsl_sum.h
deleted file mode 100644
index d9c4da8..0000000
--- a/thirdparty/includes/GSL/gsl/gsl_sum.h
+++ /dev/null
@@ -1,162 +0,0 @@
-/* sum/gsl_sum.h
- *
- * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2007 Gerard Jungman, Brian Gough
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or (at
- * your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-/* Author: G. Jungman */
-
-
-#ifndef __GSL_SUM_H__
-#define __GSL_SUM_H__
-
-#include <stdlib.h>
-
-#undef __BEGIN_DECLS
-#undef __END_DECLS
-#ifdef __cplusplus
-# define __BEGIN_DECLS extern "C" {
-# define __END_DECLS }
-#else
-# define __BEGIN_DECLS /* empty */
-# define __END_DECLS /* empty */
-#endif
-
-__BEGIN_DECLS
-
-/* Workspace for Levin U Transform with error estimation,
- *
- * size = number of terms the workspace can handle
- * sum_plain = simple sum of series
- * q_num = backward diagonal of numerator; length = size
- * q_den = backward diagonal of denominator; length = size
- * dq_num = table of numerator derivatives; length = size**2
- * dq_den = table of denominator derivatives; length = size**2
- * dsum = derivative of sum wrt term i; length = size
- */
-
-typedef struct
-{
- size_t size;
- size_t i; /* position in array */
- size_t terms_used; /* number of calls */
- double sum_plain;
- double *q_num;
- double *q_den;
- double *dq_num;
- double *dq_den;
- double *dsum;
-}
-gsl_sum_levin_u_workspace;
-
-gsl_sum_levin_u_workspace *gsl_sum_levin_u_alloc (size_t n);
-void gsl_sum_levin_u_free (gsl_sum_levin_u_workspace * w);
-
-/* Basic Levin-u acceleration method.
- *
- * array = array of series elements
- * n = size of array
- * sum_accel = result of summation acceleration
- * err = estimated error
- *
- * See [Fessler et al., ACM TOMS 9, 346 (1983) and TOMS-602]
- */
-
-int gsl_sum_levin_u_accel (const double *array,
- const size_t n,
- gsl_sum_levin_u_workspace * w,
- double *sum_accel, double *abserr);
-
-/* Basic Levin-u acceleration method with constraints on the terms
- * used,
- *
- * array = array of series elements
- * n = size of array
- * min_terms = minimum number of terms to sum
- * max_terms = maximum number of terms to sum
- * sum_accel = result of summation acceleration
- * err = estimated error
- *
- * See [Fessler et al., ACM TOMS 9, 346 (1983) and TOMS-602]
- */
-
-int gsl_sum_levin_u_minmax (const double *array,
- const size_t n,
- const size_t min_terms,
- const size_t max_terms,
- gsl_sum_levin_u_workspace * w,
- double *sum_accel, double *abserr);
-
-/* Basic Levin-u step w/o reference to the array of terms.
- * We only need to specify the value of the current term
- * to execute the step. See TOMS-745.
- *
- * sum = t0 + ... + t_{n-1} + term; term = t_{n}
- *
- * term = value of the series term to be added
- * n = position of term in series (starting from 0)
- * sum_accel = result of summation acceleration
- * sum_plain = simple sum of series
- */
-
-int
-gsl_sum_levin_u_step (const double term,
- const size_t n,
- const size_t nmax,
- gsl_sum_levin_u_workspace * w,
- double *sum_accel);
-
-/* The following functions perform the same calculation without
- estimating the errors. They require O(N) storage instead of O(N^2).
- This may be useful for summing many similar series where the size
- of the error has already been estimated reliably and is not
- expected to change. */
-
-typedef struct
-{
- size_t size;
- size_t i; /* position in array */
- size_t terms_used; /* number of calls */
- double sum_plain;
- double *q_num;
- double *q_den;
- double *dsum;
-}
-gsl_sum_levin_utrunc_workspace;
-
-gsl_sum_levin_utrunc_workspace *gsl_sum_levin_utrunc_alloc (size_t n);
-void gsl_sum_levin_utrunc_free (gsl_sum_levin_utrunc_workspace * w);
-
-int gsl_sum_levin_utrunc_accel (const double *array,
- const size_t n,
- gsl_sum_levin_utrunc_workspace * w,
- double *sum_accel, double *abserr_trunc);
-
-int gsl_sum_levin_utrunc_minmax (const double *array,
- const size_t n,
- const size_t min_terms,
- const size_t max_terms,
- gsl_sum_levin_utrunc_workspace * w,
- double *sum_accel, double *abserr_trunc);
-
-int gsl_sum_levin_utrunc_step (const double term,
- const size_t n,
- gsl_sum_levin_utrunc_workspace * w,
- double *sum_accel);
-
-__END_DECLS
-
-#endif /* __GSL_SUM_H__ */