OSDN Git Service

Modified: doc
[eos/optional.git] / doc / Objects / Vector.html
1 <ul>
2         <li>extern floatVector* floatVectorAdd(floatVector* v, floatVector* u, floatVector* w);
3         <li>extern floatVector* floatVectorMinus(floatVector* v, floatVector* u, floatVector* w);
4         <br>    v = u - w
5         <li>extern double lfloatVectorLength(floatVector* x);
6
7 </ul>
8 <HR>
9 <A NAME="Information">
10 <H2>Information from source codes</H2>
11 </A>
12 <PRE>
13 </PRE>
14 <HR>
15 <A NAME="include">
16 <H2>Vector.h</H2>
17 </A>
18 <PRE>
19 /*
20 # %M% %Y% %I%
21 # The latest update : %G% at %U%
22 #
23 #%Z% Vector.h ver %I%
24 #%Z% Created by 
25 #%Z%
26 #%Z% Usage : Vector.h 
27 #%Z% Attention
28 #%Z%
29 */
30
31 #ifndef VECTOR_H
32 #define VECTOR_H
33
34 /* struct begin */
35 typedef struct floatVector {
36         unsigned long size;
37         float*        data;
38 } floatVector;
39
40 typedef struct intVector {
41         unsigned long size;
42         int*        data;
43 } intVector;
44
45 /* struct end */
46
47 /* prototype begin */
48 extern floatVector* floatVectorInit(floatVector* v, long size);
49 extern floatVector* floatVectorFree(floatVector* v);
50
51 extern intVector* intVectorInit(intVector* v, long size);
52 extern intVector* intVectorFree(intVector* v);
53
54
55 extern floatVector* floatVectorAdd(floatVector* v, floatVector* u, floatVector* w);
56 extern floatVector* floatVectorMinus(floatVector* v, floatVector* u, floatVector* w);
57
58 extern double floatVectorScalarProduct(floatVector* x, floatVector* y);
59 extern double lfloatVectorLength(floatVector* x);
60
61 extern void lVectorSplineTableMake(floatVector* x, floatVector* y, floatVector* z);
62
63 extern double lVectorSpline(double t, floatVector* x, floatVector* y, floatVector* z);
64
65 extern void lVectorSplineTable2DMake(floatVector* p, floatVector* x, floatVector* y, floatVector* a, floatVector* b);
66 extern void lVectorSpline2D(double t, double* px, double* py, 
67 floatVector* p, floatVector* x, floatVector* y,
68 floatVector* a, floatVector* b);
69 /* prototype end */
70
71 /* struct begin */
72 typedef struct doubleVector {
73         unsigned long size;
74         double*        data;
75 } doubleVector;
76 /* struct end */
77
78 /* prototype begin */
79 extern doubleVector* doubleVectorInit(doubleVector* v, long size);
80 extern doubleVector* doubleVectorFree(doubleVector* v);
81 extern doubleVector* doubleVectorAdd(doubleVector* v, doubleVector* u, doubleVector* w);
82 extern doubleVector* doubleVectorMinus(doubleVector* v, doubleVector* u, doubleVector* w);
83
84 extern double doubleVectorScalarProduct(doubleVector* x, doubleVector* y);
85 extern double ldoubleVectorLength(doubleVector* x);
86
87 extern void ldoubleVectorSplineTableMake(doubleVector* x, doubleVector* y, doubleVector* z);
88
89 extern double ldoubleVectorSpline(double t, doubleVector* x, doubleVector* y, doubleVector* z);
90
91 extern void ldoubleVectorSplineTable2DMake(doubleVector* p, doubleVector* x, doubleVector* y, doubleVector* a, doubleVector* b);
92 extern void ldoubleVectorSpline2D(double t, double* px, double* py, 
93 doubleVector* p, doubleVector* x, doubleVector* y,
94 doubleVector* a, doubleVector* b);
95 /* prototype begin */
96
97 #endif /* VECTOR_H */
98 </PRE>