Cloudy
Spectral Synthesis Code for Astrophysics
Loading...
Searching...
No Matches
vectorize_reduce.h
Go to the documentation of this file.
1/* This file is part of Cloudy and is copyright (C)1978-2025 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] )
10double reduce_a(const double* a, long ilo, long ihi);
11// calculate Sum( a[i] )
12sys_float reduce_a(const sys_float* a, long ilo, long ihi);
13
14
15// calculate Sum( a[i]*b[i] )
16double reduce_ab(const double* a, const double* b, long ilo, long ihi);
17// calculate Sum( a[i]*double(b[i]) )
18double reduce_ab(const double* a, const sys_float* b, long ilo, long ihi);
19// calculate Sum( a[i]*b[i] )
20sys_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] )
24double reduce_abc(const double* a, const double* b, const double* c, long ilo, long ihi);
25// calculate Sum( a[i]*b[i]*c[i] )
26double 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] )
28double 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] )
30sys_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] )
34double 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]) )
36double 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] )
38double 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] )
40sys_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] )
44double reduce_abc_ab(const double* a, const double* b, const double* c, long ilo, long ihi, double* sum_ab);
45
46#endif
float sys_float
Definition cddefines.h:130
double reduce_ab(const double *a, const double *b, long ilo, long ihi)
Definition vectorize_reduce.cpp:45
double reduce_abc_ab(const double *a, const double *b, const double *c, long ilo, long ihi, double *sum_ab)
Definition vectorize_reduce.cpp:190
double reduce_ab_a(const double *a, const double *b, long ilo, long ihi, double *sum_a)
Definition vectorize_reduce.cpp:122
double reduce_a(const double *a, long ilo, long ihi)
Definition vectorize_reduce.cpp:23
double reduce_abc(const double *a, const double *b, const double *c, long ilo, long ihi)
Definition vectorize_reduce.cpp:78