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_ivec.h,v $
37 * Date : $Date: 2003/09/22 16:09:02 $
38 * Version : $Revision: 1.2 $
39 * CVS Id : $Id: mathMatv_ivec.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_IVEC_HDR
49 #define TINA_MATH_MATV_IVEC_HDR
50
51 #if HAVE_CONFIG_H
52 #include <config.h>
53 #endif
54
55
56 #include <stdio.h>
57 #include <tina/math/math_MatvDef.h>
58
59 #ifdef __cplusplus
60 extern "C" {
61 #endif /* __cplusplus */
62
63 Ivec *ivec_make(int n);
64 void ivec_free(Ivec *v);
65 void ivec_copy(Ivec *v, Ivec *w);
66 Ivec *ivec_make_copy(Ivec *v);
67 #if HAVE_STDARG_H
68 Ivec *ivec(int n, ...);
69 #else
70 Ivec *ivec();
71 #endif /* HAVE_STDARG_H */
72 Ivec *ivec_range(int l, int u);
73 void ivec_zero(Ivec *v);
74 void ivec_rand_unif(Ivec *v, int p, int q);
75 void ivec_rand_normal(Ivec *v, int m, int s);
76 int ivec_dot(Ivec *v, Ivec *w);
77 void ivec_sum(Ivec *v, Ivec *w);
78 void ivec_diff(Ivec *v, Ivec *w);
79 void ivec_times(int k, Ivec *v);
80 void ivec_minus(Ivec *v);
81 void ivec_accum(Ivec *v, int k, Ivec *w);
82 int ivec_sqrmod(Ivec *v);
83 int ivec_mod(Ivec *v);
84 int ivec_mod1(Ivec *v);
85 int ivec_sqrdist(Ivec *v, Ivec *w);
86 int ivec_dist(Ivec *v, Ivec *w);
87 void ivec_print(FILE *fp, char *fmt, Ivec *v);
88 Ivec *ivec_read(FILE *fp);
89 void ivec_reverse(Ivec *v, Ivec *w);
90 void ivec_block_get(Ivec *u, int li, Ivec *v);
91 void ivec_block_set(Ivec *u, int li, Ivec *v);
92 void ivec_index_get(Ivec *u, Ivec *index, Ivec *v);
93 void ivec_index_set(Ivec *u, Ivec *index, Ivec *v);
94
95
96
97 #ifdef __cplusplus
98 }
99 #endif /* __cplusplus */
100
101 #endif /* TINA_MATH_MATV_IVEC_HDR */
102
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.