1 | /* ----------------- */ |
---|
2 | /* --- nrbool2.h --- */ |
---|
3 | /* ----------------- */ |
---|
4 | |
---|
5 | /* |
---|
6 | * Copyright (c) 2000-2014, Lionel Lacassagne, All rights reserved |
---|
7 | * Univ Paris Sud XI, CNRS |
---|
8 | */ |
---|
9 | |
---|
10 | #ifndef _NR_BOOL2_H_ |
---|
11 | #define _NR_BOOL2_H_ |
---|
12 | |
---|
13 | #ifdef __cplusplus |
---|
14 | #ifdef PRAGMA_VERBOSE |
---|
15 | #pragma message ("C++") |
---|
16 | #endif |
---|
17 | extern "C" { |
---|
18 | #endif |
---|
19 | |
---|
20 | #ifdef PRAGMA_VERBOSE |
---|
21 | //#pragma message("- include nrbool2.h") |
---|
22 | #endif |
---|
23 | |
---|
24 | IMAGE_EXPORT(int) cmpeq_bmatrix(byte **X, long nrl,long nrh,long ncl, long nch, byte **Y); |
---|
25 | IMAGE_EXPORT(int) cmpeq_si8matrix(sint8 **X, long nrl,long nrh,long ncl, long nch, sint8 **Y); |
---|
26 | IMAGE_EXPORT(int) cmpeq_ui8matrix(uint8 **X, long nrl,long nrh,long ncl, long nch, uint8 **Y); |
---|
27 | IMAGE_EXPORT(int) cmpeq_si16matrix(sint16 **X, long nrl,long nrh,long ncl, long nch, sint16 **Y); |
---|
28 | IMAGE_EXPORT(int) cmpeq_ui16matrix(uint16 **X, long nrl, long nrh, long ncl, long nch, uint16 **Y); |
---|
29 | IMAGE_EXPORT(int) cmpeq_si32matrix(sint32 **X, long nrl, long nrh, long ncl, long nch, sint32 **Y); |
---|
30 | IMAGE_EXPORT(int) cmpeq_ui32matrix(uint32 **X, long nrl, long nrh, long ncl, long nch, uint32 **Y); |
---|
31 | |
---|
32 | |
---|
33 | /* |
---|
34 | * ----------- |
---|
35 | * --- Not --- |
---|
36 | * ----------- |
---|
37 | */ |
---|
38 | |
---|
39 | IMAGE_EXPORT(void) not_bmatrix (byte **X, long nrl,long nrh,long ncl, long nch, byte **Y); |
---|
40 | IMAGE_EXPORT(void) not_si8matrix (sint8 **X, long nrl,long nrh,long ncl, long nch, sint8 **Y); |
---|
41 | IMAGE_EXPORT(void) not_ui8matrix (uint8 **X, long nrl,long nrh,long ncl, long nch, uint8 **Y); |
---|
42 | IMAGE_EXPORT(void) not_si16matrix (sint16 **X, long nrl,long nrh,long ncl, long nch, sint16 **Y); |
---|
43 | IMAGE_EXPORT(void) not_ui16matrix (uint16 **X, long nrl,long nrh,long ncl, long nch, uint16 **Y); |
---|
44 | IMAGE_EXPORT(void) not_si32matrix (sint32 **X, long nrl,long nrh,long ncl, long nch, sint32 **Y); |
---|
45 | IMAGE_EXPORT(void) not_ui32matrix (uint32 **X, long nrl,long nrh,long ncl, long nch, uint32 **Y); |
---|
46 | IMAGE_EXPORT(void) not_si64matrix (sint64 **X, long nrl,long nrh,long ncl, long nch, sint64 **Y); |
---|
47 | IMAGE_EXPORT(void) not_ui64matrix (uint64 **X, long nrl,long nrh,long ncl, long nch, uint64 **Y); |
---|
48 | IMAGE_EXPORT(void) not_rgb8matrix (rgb8 **X, long nrl,long nrh,long ncl, long nch, rgb8 **Y); |
---|
49 | IMAGE_EXPORT(void) not_rgbx8matrix(rgbx8 **X, long nrl,long nrh,long ncl, long nch, rgbx8 **Y); |
---|
50 | |
---|
51 | /* |
---|
52 | * ---------- |
---|
53 | * --- Or --- |
---|
54 | * ---------- |
---|
55 | */ |
---|
56 | |
---|
57 | IMAGE_EXPORT(void) or_bmatrix (byte **X, long nrl,long nrh,long ncl, long nch, byte **Y, byte **Z); |
---|
58 | IMAGE_EXPORT(void) or_si8matrix (sint8 **X, long nrl,long nrh,long ncl, long nch, sint8 **Y, sint8 **Z); |
---|
59 | IMAGE_EXPORT(void) or_ui8matrix (uint8 **X, long nrl,long nrh,long ncl, long nch, uint8 **Y, uint8 **Z); |
---|
60 | IMAGE_EXPORT(void) or_si16matrix (sint16 **X, long nrl,long nrh,long ncl, long nch, sint16 **Y, sint16 **Z); |
---|
61 | IMAGE_EXPORT(void) or_ui16matrix (uint16 **X, long nrl,long nrh,long ncl, long nch, uint16 **Y, uint16 **Z); |
---|
62 | IMAGE_EXPORT(void) or_si32matrix (sint32 **X, long nrl,long nrh,long ncl, long nch, sint32 **Y, sint32 **Z); |
---|
63 | IMAGE_EXPORT(void) or_ui32matrix (uint32 **X, long nrl,long nrh,long ncl, long nch, uint32 **Y, uint32 **Z); |
---|
64 | IMAGE_EXPORT(void) or_si64matrix (sint64 **X, long nrl,long nrh,long ncl, long nch, sint64 **Y, sint64 **Z); |
---|
65 | IMAGE_EXPORT(void) or_ui64matrix (uint64 **X, long nrl,long nrh,long ncl, long nch, uint64 **Y, uint64 **Z); |
---|
66 | IMAGE_EXPORT(void) or_rgb8matrix (rgb8 **X, long nrl,long nrh,long ncl, long nch, rgb8 **Y, rgb8 **Z); |
---|
67 | IMAGE_EXPORT(void) or_rgbx8matrix(rgbx8 **X, long nrl,long nrh,long ncl, long nch, rgbx8 **Y, rgbx8 **Z); |
---|
68 | |
---|
69 | IMAGE_EXPORT(void) orc_bmatrix (byte **X, long nrl,long nrh,long ncl, long nch, byte y, byte **Z); |
---|
70 | IMAGE_EXPORT(void) orc_si8matrix (sint8 **X, long nrl,long nrh,long ncl, long nch, sint8 y, sint8 **Z); |
---|
71 | IMAGE_EXPORT(void) orc_ui8matrix (uint8 **X, long nrl,long nrh,long ncl, long nch, uint8 y, uint8 **Z); |
---|
72 | IMAGE_EXPORT(void) orc_si16matrix (sint16 **X, long nrl,long nrh,long ncl, long nch, sint16 y, sint16 **Z); |
---|
73 | IMAGE_EXPORT(void) orc_ui16matrix (uint16 **X, long nrl,long nrh,long ncl, long nch, uint16 y, uint16 **Z); |
---|
74 | IMAGE_EXPORT(void) orc_si32matrix (sint32 **X, long nrl,long nrh,long ncl, long nch, sint32 y, sint32 **Z); |
---|
75 | IMAGE_EXPORT(void) orc_ui32matrix (uint32 **X, long nrl,long nrh,long ncl, long nch, uint32 y, uint32 **Z); |
---|
76 | IMAGE_EXPORT(void) orc_si64matrix (sint64 **X, long nrl,long nrh,long ncl, long nch, sint64 y, sint64 **Z); |
---|
77 | IMAGE_EXPORT(void) orc_ui64matrix (uint64 **X, long nrl,long nrh,long ncl, long nch, uint64 y, uint64 **Z); |
---|
78 | IMAGE_EXPORT(void) orc_rgb8matrix (rgb8 **X, long nrl,long nrh,long ncl, long nch, rgb8 y, rgb8 **Z); |
---|
79 | IMAGE_EXPORT(void) orc_rgbx8matrix(rgbx8 **X, long nrl,long nrh,long ncl, long nch, rgbx8 y, rgbx8 **Z); |
---|
80 | |
---|
81 | /* |
---|
82 | * ----------- |
---|
83 | * --- Xor --- |
---|
84 | * ----------- |
---|
85 | */ |
---|
86 | |
---|
87 | IMAGE_EXPORT(void) xor_bmatrix (byte **X, long nrl,long nrh,long ncl, long nch, byte **Y, byte **Z); |
---|
88 | IMAGE_EXPORT(void) xor_si8matrix (sint8 **X, long nrl,long nrh,long ncl, long nch, sint8 **Y, sint8 **Z); |
---|
89 | IMAGE_EXPORT(void) xor_ui8matrix (uint8 **X, long nrl,long nrh,long ncl, long nch, uint8 **Y, uint8 **Z); |
---|
90 | IMAGE_EXPORT(void) xor_si16matrix (sint16 **X, long nrl,long nrh,long ncl, long nch, sint16 **Y, sint16 **Z); |
---|
91 | IMAGE_EXPORT(void) xor_ui16matrix (uint16 **X, long nrl,long nrh,long ncl, long nch, uint16 **Y, uint16 **Z); |
---|
92 | IMAGE_EXPORT(void) xor_si32matrix (sint32 **X, long nrl,long nrh,long ncl, long nch, sint32 **Y, sint32 **Z); |
---|
93 | IMAGE_EXPORT(void) xor_ui32matrix (uint32 **X, long nrl,long nrh,long ncl, long nch, uint32 **Y, uint32 **Z); |
---|
94 | IMAGE_EXPORT(void) xor_si64matrix (sint64 **X, long nrl,long nrh,long ncl, long nch, sint64 **Y, sint64 **Z); |
---|
95 | IMAGE_EXPORT(void) xor_ui64matrix (uint64 **X, long nrl,long nrh,long ncl, long nch, uint64 **Y, uint64 **Z); |
---|
96 | IMAGE_EXPORT(void) xor_rgb8matrix (rgb8 **X, long nrl,long nrh,long ncl, long nch, rgb8 **Y, rgb8 **Z); |
---|
97 | IMAGE_EXPORT(void) xor_rgbx8matrix(rgbx8 **X, long nrl,long nrh,long ncl, long nch, rgbx8 **Y, rgbx8 **Z); |
---|
98 | |
---|
99 | IMAGE_EXPORT(void) xorc_bmatrix (byte **X, long nrl,long nrh,long ncl, long nch, byte y, byte **Z); |
---|
100 | IMAGE_EXPORT(void) xorc_si8matrix (sint8 **X, long nrl,long nrh,long ncl, long nch, sint8 y, sint8 **Z); |
---|
101 | IMAGE_EXPORT(void) xorc_ui8matrix (uint8 **X, long nrl,long nrh,long ncl, long nch, uint8 y, uint8 **Z); |
---|
102 | IMAGE_EXPORT(void) xorc_si16matrix (sint16 **X, long nrl,long nrh,long ncl, long nch, sint16 y, sint16 **Z); |
---|
103 | IMAGE_EXPORT(void) xorc_ui16matrix (uint16 **X, long nrl,long nrh,long ncl, long nch, uint16 y, uint16 **Z); |
---|
104 | IMAGE_EXPORT(void) xorc_si32matrix (sint32 **X, long nrl,long nrh,long ncl, long nch, sint32 y, sint32 **Z); |
---|
105 | IMAGE_EXPORT(void) xorc_ui32matrix (uint32 **X, long nrl,long nrh,long ncl, long nch, uint32 y, uint32 **Z); |
---|
106 | IMAGE_EXPORT(void) xorc_si64matrix (sint64 **X, long nrl,long nrh,long ncl, long nch, sint64 y, sint64 **Z); |
---|
107 | IMAGE_EXPORT(void) xorc_ui64matrix (uint64 **X, long nrl,long nrh,long ncl, long nch, uint64 y, uint64 **Z); |
---|
108 | IMAGE_EXPORT(void) xorc_rgb8matrix (rgb8 **X, long nrl,long nrh,long ncl, long nch, rgb8 y, rgb8 **Z); |
---|
109 | IMAGE_EXPORT(void) xorc_rgbx8matrix(rgbx8 **X, long nrl,long nrh,long ncl, long nch, rgbx8 y, rgbx8 **Z); |
---|
110 | |
---|
111 | /* |
---|
112 | * ----------- |
---|
113 | * --- And --- |
---|
114 | * ----------- |
---|
115 | */ |
---|
116 | |
---|
117 | IMAGE_EXPORT(void) and_bmatrix (byte **X, long nrl,long nrh,long ncl, long nch, byte **Y, byte **Z); |
---|
118 | IMAGE_EXPORT(void) and_si8matrix (sint8 **X, long nrl,long nrh,long ncl, long nch, sint8 **Y, sint8 **Z); |
---|
119 | IMAGE_EXPORT(void) and_ui8matrix (uint8 **X, long nrl,long nrh,long ncl, long nch, uint8 **Y, uint8 **Z); |
---|
120 | IMAGE_EXPORT(void) and_si16matrix (sint16 **X, long nrl,long nrh,long ncl, long nch, sint16 **Y, sint16 **Z); |
---|
121 | IMAGE_EXPORT(void) and_ui16matrix (uint16 **X, long nrl,long nrh,long ncl, long nch, uint16 **Y, uint16 **Z); |
---|
122 | IMAGE_EXPORT(void) and_si32matrix (sint32 **X, long nrl,long nrh,long ncl, long nch, sint32 **Y, sint32 **Z); |
---|
123 | IMAGE_EXPORT(void) and_ui32matrix (uint32 **X, long nrl,long nrh,long ncl, long nch, uint32 **Y, uint32 **Z); |
---|
124 | IMAGE_EXPORT(void) and_si64matrix (sint64 **X, long nrl,long nrh,long ncl, long nch, sint64 **Y, sint64 **Z); |
---|
125 | IMAGE_EXPORT(void) and_ui64matrix (uint64 **X, long nrl,long nrh,long ncl, long nch, uint64 **Y, uint64 **Z); |
---|
126 | IMAGE_EXPORT(void) and_rgb8matrix (rgb8 **X, long nrl,long nrh,long ncl, long nch, rgb8 **Y, rgb8 **Z); |
---|
127 | IMAGE_EXPORT(void) and_rgbx8matrix(rgbx8 **X, long nrl,long nrh,long ncl, long nch, rgbx8 **Y, rgbx8 **Z); |
---|
128 | |
---|
129 | IMAGE_EXPORT(void) andc_bmatrix (byte **X, long nrl,long nrh,long ncl, long nch, byte y, byte **Z); |
---|
130 | IMAGE_EXPORT(void) andc_si8matrix (sint8 **X, long nrl,long nrh,long ncl, long nch, sint8 y, sint8 **Z); |
---|
131 | IMAGE_EXPORT(void) andc_ui8matrix (uint8 **X, long nrl,long nrh,long ncl, long nch, uint8 y, uint8 **Z); |
---|
132 | IMAGE_EXPORT(void) andc_si16matrix (sint16 **X, long nrl,long nrh,long ncl, long nch, sint16 y, sint16 **Z); |
---|
133 | IMAGE_EXPORT(void) andc_ui16matrix (uint16 **X, long nrl,long nrh,long ncl, long nch, uint16 y, uint16 **Z); |
---|
134 | IMAGE_EXPORT(void) andc_si32matrix (sint32 **X, long nrl,long nrh,long ncl, long nch, sint32 y, sint32 **Z); |
---|
135 | IMAGE_EXPORT(void) andc_ui32matrix (uint32 **X, long nrl,long nrh,long ncl, long nch, uint32 y, uint32 **Z); |
---|
136 | IMAGE_EXPORT(void) andc_si64matrix (sint64 **X, long nrl,long nrh,long ncl, long nch, sint64 y, sint64 **Z); |
---|
137 | IMAGE_EXPORT(void) andc_ui64matrix (uint64 **X, long nrl,long nrh,long ncl, long nch, uint64 y, uint64 **Z); |
---|
138 | IMAGE_EXPORT(void) andc_rgb8matrix (rgb8 **X, long nrl,long nrh,long ncl, long nch, rgb8 y, rgb8 **Z); |
---|
139 | IMAGE_EXPORT(void) andc_rgbx8matrix(rgbx8 **X, long nrl,long nrh,long ncl, long nch, rgbx8 y, rgbx8 **Z); |
---|
140 | |
---|
141 | #ifdef __cplusplus |
---|
142 | } |
---|
143 | #endif |
---|
144 | |
---|
145 | #endif // _NR_BOOL2_H_ |
---|