Leptonica  1.83.1
Image processing and image analysis suite
array_internal.h
Go to the documentation of this file.
1 /*====================================================================*
2  - Copyright (C) 2001 Leptonica. All rights reserved.
3  -
4  - Redistribution and use in source and binary forms, with or without
5  - modification, are permitted provided that the following conditions
6  - are met:
7  - 1. Redistributions of source code must retain the above copyright
8  - notice, this list of conditions and the following disclaimer.
9  - 2. Redistributions in binary form must reproduce the above
10  - copyright notice, this list of conditions and the following
11  - disclaimer in the documentation and/or other materials
12  - provided with the distribution.
13  -
14  - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
15  - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
16  - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
17  - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANY
18  - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19  - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20  - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21  - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22  - OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
23  - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24  - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25  *====================================================================*/
26 
27 #ifndef LEPTONICA_ARRAY_INTERNAL_H
28 #define LEPTONICA_ARRAY_INTERNAL_H
29 
60 /*------------------------------------------------------------------------*
61  * Array Structs *
62  *------------------------------------------------------------------------*/
64 #define NUMA_VERSION_NUMBER 1
65 
67 struct Numa
68 {
69  l_int32 nalloc;
70  l_int32 n;
71  l_atomic refcount;
72  l_float32 startx;
73  l_float32 delx;
74  l_float32 *array;
75 };
76 
78 struct Numaa
79 {
80  l_int32 nalloc;
81  l_int32 n;
82  struct Numa **numa;
83 };
84 
86 #define DNA_VERSION_NUMBER 1
87 
89 struct L_Dna
90 {
91  l_int32 nalloc;
92  l_int32 n;
93  l_atomic refcount;
94  l_float64 startx;
95  l_float64 delx;
96  l_float64 *array;
97 };
98 
100 struct L_Dnaa
101 {
102  l_int32 nalloc;
103  l_int32 n;
104  struct L_Dna **dna;
105 };
106 
107 struct L_DnaHash
108 {
109  l_int32 nbuckets;
110  l_int32 initsize;
111  struct L_Dna **dna;
112 };
113 
115 #define SARRAY_VERSION_NUMBER 1
116 
118 struct Sarray
119 {
120  l_int32 nalloc;
121  l_int32 n;
122  l_atomic refcount;
123  char **array;
124 };
125 
127 struct L_Bytea
128 {
129  size_t nalloc;
130  size_t size;
131  l_atomic refcount;
132  l_uint8 *data;
133 };
134 
135 #endif /* LEPTONICA_ARRAY_INTERNAL_H */
l_atomic refcount
size_t size
size_t nalloc
l_uint8 * data
struct L_Dna ** dna
l_int32 initsize
l_float64 startx
l_int32 n
l_atomic refcount
l_float64 * array
l_int32 nalloc
l_float64 delx
l_int32 n
l_int32 nalloc
struct L_Dna ** dna
l_float32 startx
l_float32 delx
l_int32 nalloc
l_float32 * array
l_int32 n
l_atomic refcount
struct Numa ** numa
l_int32 n
l_int32 nalloc
l_int32 nalloc
char ** array
l_atomic refcount
l_int32 n