File: esl_vectorops.h

package info (click to toggle)
hmmer 3.2.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 23,380 kB
  • sloc: ansic: 119,305; perl: 8,791; sh: 3,266; makefile: 1,871; python: 598
file content (123 lines) | stat: -rw-r--r-- 5,361 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
/* Vector operations.
 */
#ifndef eslVECTOROPS_INCLUDED
#define eslVECTOROPS_INCLUDED
#include "esl_config.h"

#include "esl_random.h"

extern void   esl_vec_DSet(double *vec, int n, double value);
extern void   esl_vec_FSet(float  *vec, int n, float  value);
extern void   esl_vec_ISet(int    *vec, int n, int    value);

extern void   esl_vec_DScale(double *vec, int n, double scale);
extern void   esl_vec_FScale(float  *vec, int n, float  scale);
extern void   esl_vec_IScale(int    *vec, int n, int    scale);

extern void   esl_vec_DIncrement(double *v, int n, double x);
extern void   esl_vec_FIncrement(float  *v, int n, float  x);
extern void   esl_vec_IIncrement(int    *v, int n, int    x);

extern double esl_vec_DSum(double *vec, int n);
extern float  esl_vec_FSum(float  *vec, int n);
extern int    esl_vec_ISum(int    *vec, int n);

extern void   esl_vec_DAdd(double *vec1, const double *vec2, int n);
extern void   esl_vec_FAdd(float  *vec1, const float  *vec2, int n);
extern void   esl_vec_IAdd(int    *vec1, const int    *vec2, int n);

extern void   esl_vec_DAddScaled(double *vec1, double *vec2, double a, int n);
extern void   esl_vec_FAddScaled(float  *vec1, float  *vec2, float  a, int n);
extern void   esl_vec_IAddScaled(int    *vec1, int    *vec2, int    a, int n);

extern void   esl_vec_DCopy(const double *src, const int n, double *dest);
extern void   esl_vec_FCopy(const float  *src, const int n, float  *dest);
extern void   esl_vec_ICopy(const int    *src, const int n, int    *dest);

extern int    esl_vec_DCompare(const double *vec1, const double *vec2, int n, double tol);
extern int    esl_vec_FCompare(const float  *vec1, const float  *vec2, int n, float tol);
extern int    esl_vec_ICompare(const int    *vec1, const int    *vec2, int n);

extern void   esl_vec_DSwap(double *vec1, double *vec2, int n);
extern void   esl_vec_FSwap(float  *vec1, float  *vec2, int n);
extern void   esl_vec_ISwap(int    *vec1, int    *vec2, int n);

extern void   esl_vec_DReverse(double *vec, double *rev, int n);
extern void   esl_vec_FReverse(float  *vec, float  *rev, int n);
extern void   esl_vec_IReverse(int    *vec, int    *rev, int n);
extern void   esl_vec_CReverse(char   *vec, char   *rev, int n);

extern double esl_vec_DDot(double *vec1, double *vec2, int n);
extern float  esl_vec_FDot(float  *vec1, float  *vec2, int n);
extern int    esl_vec_IDot(int    *vec1, int    *vec2, int n);

extern double esl_vec_DMax(const double *vec, int n);
extern float  esl_vec_FMax(const float  *vec, int n);
extern int    esl_vec_IMax(const int    *vec, int n);

extern double esl_vec_DMin(const double *vec, int n);
extern float  esl_vec_FMin(const float  *vec, int n);
extern int    esl_vec_IMin(const int    *vec, int n);

extern int    esl_vec_DArgMax(const double *vec, int n);
extern int    esl_vec_FArgMax(const float  *vec, int n);
extern int    esl_vec_IArgMax(const int    *vec, int n);

extern int    esl_vec_DArgMin(const double *vec, int n);
extern int    esl_vec_FArgMin(const float  *vec, int n);
extern int    esl_vec_IArgMin(const int    *vec, int n);

extern void   esl_vec_DSortIncreasing(double *vec, int n);
extern void   esl_vec_FSortIncreasing(float  *vec, int n);
extern void   esl_vec_ISortIncreasing(int    *vec, int n);

extern void   esl_vec_DSortDecreasing(double *vec, int n);
extern void   esl_vec_FSortDecreasing(float  *vec, int n);
extern void   esl_vec_ISortDecreasing(int    *vec, int n);

extern int    esl_vec_DDump(FILE *ofp, double *v, int n, char *label);
extern int    esl_vec_FDump(FILE *ofp, float *v,  int n, char *label);
extern int    esl_vec_IDump(FILE *ofp, int *v,    int n, char *label);

extern void   esl_vec_D2F(double *src, int n, float  *dst);
extern void   esl_vec_F2D(float  *src, int n, double *dst);
extern void   esl_vec_I2F(int    *src, int n, float  *dst);
extern void   esl_vec_I2D(int    *src, int n, double *dst);

extern void   esl_vec_DNorm(double *vec, int n);
extern void   esl_vec_FNorm(float  *vec, int n);

extern void   esl_vec_DLog(double *vec, int n);
extern void   esl_vec_FLog(float  *vec, int n);

extern double esl_vec_DEntropy(const double *p, int n);
extern float  esl_vec_FEntropy(const float  *p, int n);

extern double esl_vec_DRelEntropy(const double *p, const double *f, int n);
extern float  esl_vec_FRelEntropy(const float  *p, const float  *f, int n);

extern void   esl_vec_DExp(double *vec, int n);
extern void   esl_vec_FExp(float  *vec, int n);

extern double esl_vec_DLogSum(double *vec, int n);
extern float  esl_vec_FLogSum(float  *vec, int n);

extern void   esl_vec_DLogNorm(double *vec, int n);
extern void   esl_vec_FLogNorm(float  *vec, int n);

extern void   esl_vec_DCDF(double *p, int n, double *cdf);
extern void   esl_vec_FCDF(float  *p, int n, float  *cdf);

extern int    esl_vec_DValidate(double *vec, int n, double tol, char *errbuf);
extern int    esl_vec_FValidate(float  *vec, int n, float  tol, char *errbuf);

extern int    esl_vec_DLogValidate(double *vec, int n, double tol, char *errbuf);
extern int    esl_vec_FLogValidate(float  *vec, int n, float  tol, char *errbuf);

extern int    esl_vec_DShuffle(ESL_RANDOMNESS *r, double *v, int n);
extern int    esl_vec_FShuffle(ESL_RANDOMNESS *r, float  *v, int n);
extern int    esl_vec_IShuffle(ESL_RANDOMNESS *r, int    *v, int n);


#endif /* eslVECTOROPS_INCLUDED */