cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
vectorize_reduce.h
Go to the documentation of this file.
1 /* This file is part of Cloudy and is copyright (C)1978-2017 by Gary J. Ferland and
2  * others. For conditions of distribution and use see copyright notice in license.txt */
3 
4 #ifndef VECTORIZE_REDUCE_H
5 #define VECTORIZE_REDUCE_H
6 
7 // NB NB -- do not include this file directly, include vectorize.h
8 
9 // calculate Sum( a[i] )
10 double reduce_a(const double* a, long ilo, long ihi);
11 // calculate Sum( a[i] )
12 sys_float reduce_a(const sys_float* a, long ilo, long ihi);
13 
14 
15 // calculate Sum( a[i]*b[i] )
16 double reduce_ab(const double* a, const double* b, long ilo, long ihi);
17 // calculate Sum( a[i]*double(b[i]) )
18 double reduce_ab(const double* a, const sys_float* b, long ilo, long ihi);
19 // calculate Sum( a[i]*b[i] )
20 sys_float reduce_ab(const sys_float* a, const sys_float* b, long ilo, long ihi);
21 
22 
23 // calculate Sum( a[i]*b[i]*c[i] )
24 double reduce_abc(const double* a, const double* b, const double* c, long ilo, long ihi);
25 // calculate Sum( a[i]*b[i]*c[i] )
26 double reduce_abc(const double* a, const double* b, const sys_float* c, long ilo, long ihi);
27 // calculate Sum( a[i]*b[i]*c[i] )
28 double reduce_abc(const double* a, const sys_float* b, const sys_float* c, long ilo, long ihi);
29 // calculate Sum( a[i]*b[i]*c[i] )
30 sys_float reduce_abc(const sys_float* a, const sys_float* b, const sys_float* c, long ilo, long ihi);
31 
32 
33 // calculate Sum( a[i]*b[i] ), sum_a = Sum( a[i] )
34 double reduce_ab_a(const double* a, const double* b, long ilo, long ihi, double* sum_a);
35 // calculate Sum( double(a[i])*b[i] ), sum_a = Sum( double(a[i]) )
36 double reduce_ab_a(const sys_float* a, const double* b, long ilo, long ihi, double* sum_a);
37 // calculate Sum( a[i]*double(b[i]) ), sum_a = Sum( a[i] )
38 double reduce_ab_a(const double* a, const sys_float* b, long ilo, long ihi, double* sum_a);
39 // calculate Sum( a[i]*b[i] ), sum_a = Sum( a[i] )
40 sys_float reduce_ab_a(const sys_float* a, const sys_float* b, long ilo, long ihi, sys_float* sum_a);
41 
42 
43 // calculate Sum( a[i]*b[i]*c[i] ), sum_ab = Sum( a[i]*b[i] )
44 double reduce_abc_ab(const double* a, const double* b, const double* c, long ilo, long ihi, double* sum_ab);
45 
46 #endif
double reduce_a(const double *a, long ilo, long ihi)
float sys_float
Definition: cddefines.h:127
double reduce_abc_ab(const double *a, const double *b, const double *c, long ilo, long ihi, double *sum_ab)
double reduce_ab(const double *a, const double *b, long ilo, long ihi)
double reduce_ab_a(const double *a, const double *b, long ilo, long ihi, double *sum_a)
double reduce_abc(const double *a, const double *b, const double *c, long ilo, long ihi)