1 /**********
2 *
3 * Copyright (c) 2003, Division of Imaging Science and Biomedical Engineering,
4 * University of Manchester, UK. All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without modification,
7 * are permitted provided that the following conditions are met:
8 *
9 * . Redistributions of source code must retain the above copyright notice,
10 * this list of conditions and the following disclaimer.
11 *
12 * . Redistributions in binary form must reproduce the above copyright notice,
13 * this list of conditions and the following disclaimer in the documentation
14 * and/or other materials provided with the distribution.
15 *
16 * . Neither the name of the University of Manchester nor the names of its
17 * contributors may be used to endorse or promote products derived from this
18 * software without specific prior written permission.
19 *
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
25 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 * POSSIBILITY OF SUCH DAMAGE.
32 *
33 **********
34 *
35 * Program : TINA
36 * File : $Source: /home/tina/cvs/tina-libs/tina/math/mathMatv_vec.h,v $
37 * Date : $Date: 2003/09/22 16:09:02 $
38 * Version : $Revision: 1.2 $
39 * CVS Id : $Id: mathMatv_vec.h,v 1.2 2003/09/22 16:09:02 tony Exp $
40 *
41 * Author : Legacy Tina
42 *
43 * Notes :
44 *
45 *********
46 */
47
48 #ifndef TINA_MATH_MATV_VEC_HDR
49 #define TINA_MATH_MATV_VEC_HDR
50
51 #include <stdio.h>
52 #include <tina/math/math_MatvDef.h>
53
54 #ifdef __cplusplus
55 extern "C" {
56 #endif /* __cplusplus */
57
58 Vec *vec_make(int n);
59 void vec_free(Vec *v);
60 void vec_copy(Vec *v, Vec *w);
61 Vec *vec_make_copy(Vec *w);
62 void vec_zero(Vec *v);
63 void vec_rand_unif(Vec *v, double p, double q);
64 void vec_rand_normal(Vec *v, double m, double s);
65 double vec_dot(Vec *v, Vec *w);
66 void vec_sum(Vec *v, Vec *w);
67 void vec_diff(Vec *v, Vec *w);
68 void vec_prod(Vec *v, Vec *w);
69 void vec_divide(Vec *v, Vec *w);
70 void vec_times(double k, Vec *v);
71 void vec_minus(Vec *v);
72 void vec_accum(Vec *v, double k, Vec *w);
73 double vec_sqrmod(Vec *v);
74 double vec_mod(Vec *v);
75 void vec_unit(Vec *v);
76 double vec_mod1(Vec *v);
77 double vec_sqrdist(Vec *v, Vec *w);
78 double vec_dist(Vec *v, Vec *w);
79 void vec_print(FILE *fp, char *fmt, Vec *v);
80 Vec *vec_read(FILE *fp);
81 void vec_reverse(Vec *v, Vec *w);
82 void vec_block_get(Vec *u, int li, Vec *v);
83 void vec_block_set(Vec *u, int li, Vec *v);
84 void vec_index_get(Vec *u, Ivec *index, Vec *v);
85 void vec_index_set(Vec *u, Ivec *index, Vec *v);
86 double vec_max(Vec *v, int *imax);
87 double vec_min(Vec *v, int *imin);
88
89
90
91 #ifdef __cplusplus
92 }
93 #endif /* __cplusplus */
94
95 #endif /* TINA_MATH_MATV_VEC_HDR */
96
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.