source: soft/giet_vm/applications/rosenfeld/nrc2/src/nrbool2.c @ 810

Last change on this file since 810 was 772, checked in by meunier, 9 years ago
  • Ajout de l'application rosenfeld
  • Changement du nom du flag O_CREATE en O_CREAT
File size: 34.2 KB
Line 
1/* ----------------- */
2/* --- nrbool2.c --- */
3/* ----------------- */
4
5/*
6 * Copyright (c) 2000-2014, Lionel Lacassagne, All rights reserved
7 * Univ Paris Sud XI, CNRS
8 *
9 * Distributed under the Boost Software License, Version 1.0
10 * see accompanying file LICENSE.txt or copy it at
11 * http://www.boost.org/LICENSE_1_0.txt
12 */
13
14
15#include <stdio.h>
16#include <stddef.h>
17#include <stdlib.h>
18#include <math.h> // fabs
19
20#include "mypredef.h"
21#include "nrtype.h"
22#include "nrdef.h"
23#include "nrmacro.h"
24#include "nrkernel.h"
25
26#include "nrbool1.h"
27#include "nrbool2.h"
28
29/* ----------------------------------------------------------------------------------- */
30IMAGE_EXPORT(int) cmpeq_bmatrix(byte **X, long nrl,long nrh,long ncl, long nch, byte **Y)
31/* ----------------------------------------------------------------------------------- */
32{
33        int i, j;
34       
35        for(i=nrl; i<=nrh; i++) {
36                for(j=ncl; j<=nch; j++) {
37                        if(X[i][j] != Y[i][j]) return 1;
38                }
39        }
40        return 0;
41}
42/* --------------------------------------------------------------------------------------- */
43IMAGE_EXPORT(int) cmpeq_si8matrix(sint8 **X, long nrl,long nrh,long ncl, long nch, sint8 **Y)
44/* --------------------------------------------------------------------------------------- */
45{
46        int i, j;
47       
48        for(i=nrl; i<=nrh; i++) {
49                for(j=ncl; j<=nch; j++) {
50                        if(X[i][j] != Y[i][j]) return 1;
51                }
52        }
53        return 0;
54}
55/* ----------------------------------------------------------------------------------------- */
56IMAGE_EXPORT(int) cmpeq_ui8matrix(uint8 **X, long nrl, long nrh, long ncl, long nch, uint8 **Y)
57/* ----------------------------------------------------------------------------------------- */
58{
59        int i, j;
60       
61        for(i=nrl; i<=nrh; i++) {
62                for(j=ncl; j<=nch; j++) {
63                        if(X[i][j] != Y[i][j]) return 1;
64                }
65        }
66        return 0;
67}
68/* -------------------------------------------------------------------------------------------- */
69IMAGE_EXPORT(int) cmpeq_si16matrix(sint16 **X, long nrl ,long nrh, long ncl, long nch, sint16 **Y)
70/* -------------------------------------------------------------------------------------------- */
71{
72        int i, j;
73       
74        for(i=nrl; i<=nrh; i++) {
75                for(j=ncl; j<=nch; j++) {
76                        if(X[i][j] != Y[i][j]) return 1;
77                }
78        }
79        return 0;
80}
81/* -------------------------------------------------------------------------------------------- */
82IMAGE_EXPORT(int) cmpeq_ui16matrix(uint16 **X, long nrl, long nrh, long ncl, long nch, uint16 **Y)
83/* -------------------------------------------------------------------------------------------- */
84{
85        int i, j;
86       
87        for(i=nrl; i<=nrh; i++) {
88                for(j=ncl; j<=nch; j++) {
89                        if(X[i][j] != Y[i][j]) return 1;
90                }
91        }
92        return 0;
93}
94/* -------------------------------------------------------------------------------------------- */
95IMAGE_EXPORT(int) cmpeq_si32matrix(sint32 **X, long nrl, long nrh, long ncl, long nch, sint32 **Y)
96/* -------------------------------------------------------------------------------------------- */
97{
98        int i, j;
99       
100        for(i=nrl; i<=nrh; i++) {
101                for(j=ncl; j<=nch; j++) {
102                        if(X[i][j] != Y[i][j]) return 1;
103                }
104        }
105        return 0;
106}
107/* -------------------------------------------------------------------------------------------- */
108IMAGE_EXPORT(int) cmpeq_ui32matrix(uint32 **X, long nrl, long nrh, long ncl, long nch, uint32 **Y)
109/* -------------------------------------------------------------------------------------------- */
110{
111        int i, j;
112       
113        for(i=nrl; i<=nrh; i++) {
114                for(j=ncl; j<=nch; j++) {
115                        if(X[i][j] != Y[i][j]) return 1;
116                }
117        }
118        return 0;
119}
120
121/*
122 * -----------
123 * --- Not ---
124 * -----------
125 */
126
127/* ---------------------------------------------------------------------------------- */
128IMAGE_EXPORT(void) not_bmatrix(byte **X, long nrl,long nrh,long ncl, long nch, byte **Y)
129/* ---------------------------------------------------------------------------------- */
130{
131        long i;
132       
133        for(i=nrl; i<=nrh; i++) {
134                not_bvector(X[i], ncl, nch, Y[i]);
135        }
136}
137/* -------------------------------------------------------------------------------------- */
138IMAGE_EXPORT(void) not_si8matrix(sint8 **X, long nrl,long nrh,long ncl, long nch, sint8 **Y)
139/* -------------------------------------------------------------------------------------- */
140{
141        long i;
142   
143    for(i=nrl; i<=nrh; i++) {
144        not_si8vector(X[i], ncl, nch, Y[i]);
145    }
146}
147/* -------------------------------------------------------------------------------------- */
148IMAGE_EXPORT(void) not_ui8matrix(uint8 **X, long nrl,long nrh,long ncl, long nch, uint8 **Y)
149/* -------------------------------------------------------------------------------------- */
150{
151    long i;
152   
153    for(i=nrl; i<=nrh; i++) {
154        not_ui8vector(X[i], ncl, nch, Y[i]);
155    }
156}
157/* ----------------------------------------------------------------------------------------- */
158IMAGE_EXPORT(void) not_si16matrix(sint16 **X, long nrl,long nrh,long ncl, long nch, sint16 **Y)
159/* ----------------------------------------------------------------------------------------- */
160{
161    long i;
162   
163    for(i=nrl; i<=nrh; i++) {
164        not_si16vector(X[i], ncl, nch, Y[i]);
165    }
166}
167/* ----------------------------------------------------------------------------------------- */
168IMAGE_EXPORT(void) not_ui16matrix(uint16 **X, long nrl,long nrh,long ncl, long nch, uint16 **Y)
169/* ----------------------------------------------------------------------------------------- */
170{
171    long i;
172   
173    for(i=nrl; i<=nrh; i++) {
174        not_ui16vector(X[i], ncl, nch, Y[i]);
175    }
176}
177/* ---------------------------------------------------------------------------------------- */
178IMAGE_EXPORT(void) not_si32matrix(int32 **X, long nrl,long nrh,long ncl, long nch, sint32 **Y)
179/* ---------------------------------------------------------------------------------------- */
180{
181    long i;
182   
183    for(i=nrl; i<=nrh; i++) {
184        not_si32vector(X[i], ncl, nch, Y[i]);
185    }
186}
187/* ----------------------------------------------------------------------------------------- */
188IMAGE_EXPORT(void) not_ui32matrix(uint32 **X, long nrl,long nrh,long ncl, long nch, uint32 **Y)
189/* ----------------------------------------------------------------------------------------- */
190{
191    long i;
192   
193    for(i=nrl; i<=nrh; i++) {
194        not_ui32vector(X[i], ncl, nch, Y[i]);
195    }
196}
197/* --------------------------------------------------------------------------------------- */
198IMAGE_EXPORT(void) not_rgb8matrix(rgb8 **X, long nrl,long nrh,long ncl, long nch, rgb8 **Y)
199/* --------------------------------------------------------------------------------------- */
200{
201    long i;
202   
203    for(i=nrl; i<=nrh; i++) {
204        not_rgb8vector(X[i], ncl, nch, Y[i]);
205    }
206}
207/* ------------------------------------------------------------------------------------------ */
208IMAGE_EXPORT(void) not_rgbx8matrix(rgbx8 **X, long nrl,long nrh,long ncl, long nch, rgbx8 **Y)
209/* ------------------------------------------------------------------------------------------ */
210{
211    long i;
212   
213    for(i=nrl; i<=nrh; i++) {
214        not_rgbx8vector(X[i], ncl, nch, Y[i]);
215    }
216}
217
218/*
219 * ----------
220 * --- Or ---
221 * ----------
222 */
223
224/* ------------------------------------------------------------------------------------------- */
225IMAGE_EXPORT(void) or_bmatrix(byte **X, long nrl,long nrh,long ncl, long nch, byte **Y, byte **Z)
226/* ------------------------------------------------------------------------------------------- */
227{
228    long i;
229   
230    for(i=nrl; i<=nrh; i++) {
231        or_bvector(X[i], ncl, nch, Y[i], Z[i]);
232    }
233}
234/* ------------------------------------------------------------------------------------------------ */
235IMAGE_EXPORT(void) or_si8matrix(sint8 **X, long nrl,long nrh,long ncl, long nch, sint8 **Y, sint8 **Z)
236/* ------------------------------------------------------------------------------------------------ */
237{
238    long i;
239   
240    for(i=nrl; i<=nrh; i++) {
241        or_si8vector(X[i], ncl, nch, Y[i], Z[i]);
242    }
243}
244/* ------------------------------------------------------------------------------------------------ */
245IMAGE_EXPORT(void) or_ui8matrix(uint8 **X, long nrl,long nrh,long ncl, long nch, uint8 **Y, uint8 **Z)
246/* ------------------------------------------------------------------------------------------------ */
247{
248    long i;
249   
250    for(i=nrl; i<=nrh; i++) {
251        or_ui8vector(X[i], ncl, nch, Y[i], Z[i]);
252    }
253}
254/* ---------------------------------------------------------------------------------------------------- */
255IMAGE_EXPORT(void) or_si16matrix(sint16 **X, long nrl,long nrh,long ncl, long nch, sint16 **Y, sint16 **Z)
256/* ---------------------------------------------------------------------------------------------------- */
257{
258    long i;
259   
260    for(i=nrl; i<=nrh; i++) {
261        or_si16vector(X[i], ncl, nch, Y[i], Z[i]);
262    }
263}
264/* ---------------------------------------------------------------------------------------------------- */
265IMAGE_EXPORT(void) or_ui16matrix(uint16 **X, long nrl,long nrh,long ncl, long nch, uint16 **Y, uint16 **Z)
266/* ---------------------------------------------------------------------------------------------------- */
267{
268    long i;
269   
270    for(i=nrl; i<=nrh; i++) {
271        or_ui16vector(X[i], ncl, nch, Y[i], Z[i]);
272    }
273}
274/* ---------------------------------------------------------------------------------------------------- */
275IMAGE_EXPORT(void) or_si32matrix(sint32 **X, long nrl,long nrh,long ncl, long nch, sint32 **Y, sint32 **Z)
276/* ---------------------------------------------------------------------------------------------------- */
277{
278    long i;
279   
280    for(i=nrl; i<=nrh; i++) {
281        or_si32vector(X[i], ncl, nch, Y[i], Z[i]);
282    }
283}
284/* ---------------------------------------------------------------------------------------------------- */
285IMAGE_EXPORT(void) or_ui32matrix(uint32 **X, long nrl,long nrh,long ncl, long nch, uint32 **Y, uint32 **Z)
286/* ---------------------------------------------------------------------------------------------------- */
287{
288    long i;
289   
290    for(i=nrl; i<=nrh; i++) {
291        or_ui32vector(X[i], ncl, nch, Y[i], Z[i]);
292    }
293}
294/* ---------------------------------------------------------------------------------------------------- */
295IMAGE_EXPORT(void) or_si64matrix(sint64 **X, long nrl,long nrh,long ncl, long nch, sint64 **Y, sint64 **Z)
296/* ---------------------------------------------------------------------------------------------------- */
297{
298    long i;
299   
300    for(i=nrl; i<=nrh; i++) {
301        or_si64vector(X[i], ncl, nch, Y[i], Z[i]);
302    }
303}
304/* ---------------------------------------------------------------------------------------------------- */
305IMAGE_EXPORT(void) or_ui64matrix(uint64 **X, long nrl,long nrh,long ncl, long nch, uint64 **Y, uint64 **Z)
306/* ---------------------------------------------------------------------------------------------------- */
307{
308    long i;
309   
310    for(i=nrl; i<=nrh; i++) {
311        or_ui64vector(X[i], ncl, nch, Y[i], Z[i]);
312    }
313}
314/* ---------------------------------------------------------------------------------------------- */
315IMAGE_EXPORT(void) or_rgb8matrix(rgb8 **X, long nrl,long nrh,long ncl, long nch, rgb8 **Y, rgb8 **Z)
316/* ---------------------------------------------------------------------------------------------- */
317{
318    long i;
319   
320    for(i=nrl; i<=nrh; i++) {
321        or_rgb8vector(X[i], ncl, nch, Y[i], Z[i]);
322    }
323}
324/* -------------------------------------------------------------------------------------------------- */
325IMAGE_EXPORT(void) or_rgb8xmatrix(rgbx8 **X, long nrl,long nrh,long ncl, long nch, rgbx8 **Y, rgbx8 **Z)
326/* -------------------------------------------------------------------------------------------------- */
327{
328    long i;
329   
330    for(i=nrl; i<=nrh; i++) {
331        or_rgbx8vector(X[i], ncl, nch, Y[i], Z[i]);
332    }
333}
334/* ------------------------------------------------------------------------------------------ */
335IMAGE_EXPORT(void) orc_bmatrix(byte **X, long nrl,long nrh,long ncl, long nch, byte y, byte **Z)
336/* ------------------------------------------------------------------------------------------ */
337{
338    long i;
339   
340    for(i=nrl; i<=nrh; i++) {
341        orc_bvector(X[i], ncl, nch, y, Z[i]);
342    }
343}
344/* ----------------------------------------------------------------------------------------------- */
345IMAGE_EXPORT(void) orc_si8matrix(sint8 **X, long nrl,long nrh,long ncl, long nch, sint8 y, sint8 **Z)
346/* ----------------------------------------------------------------------------------------------- */
347{
348    long i;
349   
350    for(i=nrl; i<=nrh; i++) {
351        orc_si8vector(X[i], ncl, nch, y, Z[i]);
352    }
353}
354/* ----------------------------------------------------------------------------------------------- */
355IMAGE_EXPORT(void) orc_ui8matrix(uint8 **X, long nrl,long nrh,long ncl, long nch, uint8 y, uint8 **Z)
356/* ----------------------------------------------------------------------------------------------- */
357{
358    long i;
359   
360    for(i=nrl; i<=nrh; i++) {
361        orc_ui8vector(X[i], ncl, nch, y, Z[i]);
362    }
363}
364/* -------------------------------------------------------------------------------------------------- */
365IMAGE_EXPORT(void) orc_i16matrix(sint16 **X, long nrl,long nrh,long ncl, long nch, sint16 y, sint16 **Z)
366/* -------------------------------------------------------------------------------------------------- */
367{
368    long i;
369   
370    for(i=nrl; i<=nrh; i++) {
371        orc_si16vector(X[i], ncl, nch, y, Z[i]);
372    }
373}
374/* --------------------------------------------------------------------------------------------------- */
375IMAGE_EXPORT(void) orc_ui16matrix(uint16 **X, long nrl,long nrh,long ncl, long nch, uint16 y, uint16 **Z)
376/* --------------------------------------------------------------------------------------------------- */
377{
378    long i;
379   
380    for(i=nrl; i<=nrh; i++) {
381        orc_ui16vector(X[i], ncl, nch, y, Z[i]);
382    }
383}
384/* --------------------------------------------------------------------------------------------------- */
385IMAGE_EXPORT(void) orc_si32matrix(sint32 **X, long nrl,long nrh,long ncl, long nch, sint32 y, sint32 **Z)
386/* --------------------------------------------------------------------------------------------------- */
387{
388    long i;
389   
390    for(i=nrl; i<=nrh; i++) {
391        orc_si32vector(X[i], ncl, nch, y, Z[i]);
392    }
393}
394/* --------------------------------------------------------------------------------------------------- */
395IMAGE_EXPORT(void) orc_ui32matrix(uint32 **X, long nrl,long nrh,long ncl, long nch, uint32 y, uint32 **Z)
396/* --------------------------------------------------------------------------------------------------- */
397{
398    long i;
399   
400    for(i=nrl; i<=nrh; i++) {
401        orc_ui32vector(X[i], ncl, nch, y, Z[i]);
402    }
403}
404/* --------------------------------------------------------------------------------------------------- */
405IMAGE_EXPORT(void) orc_si64matrix(sint64 **X, long nrl,long nrh,long ncl, long nch, sint64 y, sint64 **Z)
406/* --------------------------------------------------------------------------------------------------- */
407{
408    long i;
409   
410    for(i=nrl; i<=nrh; i++) {
411        orc_si64vector(X[i], ncl, nch, y, Z[i]);
412    }
413}
414/* --------------------------------------------------------------------------------------------------- */
415IMAGE_EXPORT(void) orc_ui64matrix(uint64 **X, long nrl,long nrh,long ncl, long nch, uint64 y, uint64 **Z)
416
417/* --------------------------------------------------------------------------------------------------- */
418{
419    long i;
420   
421    for(i=nrl; i<=nrh; i++) {
422        orc_ui64vector(X[i], ncl, nch, y, Z[i]);
423    }
424}
425/* --------------------------------------------------------------------------------------------- */
426IMAGE_EXPORT(void) orc_rgb8matrix(rgb8 **X, long nrl,long nrh,long ncl, long nch, rgb8 y, rgb8 **Z)
427/* --------------------------------------------------------------------------------------------- */
428{
429    long i;
430   
431    for(i=nrl; i<=nrh; i++) {
432        orc_rgb8vector(X[i], ncl, nch, y, Z[i]);
433    }
434}
435/* ------------------------------------------------------------------------------------------------- */
436IMAGE_EXPORT(void) orc_rgb8xmatrix(rgbx8 **X, long nrl,long nrh,long ncl, long nch, rgbx8 y, rgbx8 **Z)
437/* ------------------------------------------------------------------------------------------------- */
438{
439    long i;
440   
441    for(i=nrl; i<=nrh; i++) {
442        orc_rgbx8vector(X[i], ncl, nch, y, Z[i]);
443    }
444}
445
446/*
447 * -----------
448 * --- Xor ---
449 * -----------
450 */
451
452/* -------------------------------------------------------------------------------------------- */
453IMAGE_EXPORT(void) xor_bmatrix(byte **X, long nrl,long nrh,long ncl, long nch, byte **Y, byte **Z)
454/* -------------------------------------------------------------------------------------------- */
455{
456    long i;
457   
458    for(i=nrl; i<=nrh; i++) {
459        xor_bvector(X[i], ncl, nch, Y[i], Z[i]);
460    }
461}
462/* ------------------------------------------------------------------------------------------------- */
463IMAGE_EXPORT(void) xor_si8matrix(sint8 **X, long nrl,long nrh,long ncl, long nch, sint8 **Y, sint8 **Z)
464/* ------------------------------------------------------------------------------------------------- */
465{
466    long i;
467   
468    for(i=nrl; i<=nrh; i++) {
469        xor_si8vector(X[i], ncl, nch, Y[i], Z[i]);
470    }
471}
472/* ------------------------------------------------------------------------------------------------- */
473IMAGE_EXPORT(void) xor_ui8matrix(uint8 **X, long nrl,long nrh,long ncl, long nch, uint8 **Y, uint8 **Z)
474/* ------------------------------------------------------------------------------------------------- */
475{
476    long i;
477   
478    for(i=nrl; i<=nrh; i++) {
479        xor_ui8vector(X[i], ncl, nch, Y[i], Z[i]);
480    }
481}
482/* ----------------------------------------------------------------------------------------------------- */
483IMAGE_EXPORT(void) xor_si16matrix(sint16 **X, long nrl,long nrh,long ncl, long nch, sint16 **Y, sint16 **Z)
484/* ----------------------------------------------------------------------------------------------------- */
485{
486    long i;
487   
488    for(i=nrl; i<=nrh; i++) {
489        xor_si16vector(X[i], ncl, nch, Y[i], Z[i]);
490    }
491}
492/* ----------------------------------------------------------------------------------------------------- */
493IMAGE_EXPORT(void) xor_ui16matrix(uint16 **X, long nrl,long nrh,long ncl, long nch, uint16 **Y, uint16 **Z)
494/* ----------------------------------------------------------------------------------------------------- */
495{
496    long i;
497   
498    for(i=nrl; i<=nrh; i++) {
499        xor_ui16vector(X[i], ncl, nch, Y[i], Z[i]);
500    }
501}
502/* ----------------------------------------------------------------------------------------------------- */
503IMAGE_EXPORT(void) xor_si32matrix(sint32 **X, long nrl,long nrh,long ncl, long nch, sint32 **Y, sint32 **Z)
504/* ----------------------------------------------------------------------------------------------------- */
505{
506    long i;
507   
508    for(i=nrl; i<=nrh; i++) {
509        xor_si32vector(X[i], ncl, nch, Y[i], Z[i]);
510    }
511}
512/* ----------------------------------------------------------------------------------------------------- */
513IMAGE_EXPORT(void) xor_ui32matrix(uint32 **X, long nrl,long nrh,long ncl, long nch, uint32 **Y, uint32 **Z)
514/* ----------------------------------------------------------------------------------------------------- */
515{
516    long i;
517   
518    for(i=nrl; i<=nrh; i++) {
519        xor_ui32vector(X[i], ncl, nch, Y[i], Z[i]);
520    }
521}
522/* ----------------------------------------------------------------------------------------------------- */
523IMAGE_EXPORT(void) xor_si64matrix(sint64 **X, long nrl,long nrh,long ncl, long nch, sint64 **Y, sint64 **Z)
524/* ----------------------------------------------------------------------------------------------------- */
525{
526    long i;
527   
528    for(i=nrl; i<=nrh; i++) {
529        xor_si64vector(X[i], ncl, nch, Y[i], Z[i]);
530    }
531}
532/* ----------------------------------------------------------------------------------------------------- */
533IMAGE_EXPORT(void) xor_ui64matrix(uint64 **X, long nrl,long nrh,long ncl, long nch, uint64 **Y, uint64 **Z)
534/* ----------------------------------------------------------------------------------------------------- */
535{
536    long i;
537   
538    for(i=nrl; i<=nrh; i++) {
539        xor_ui64vector(X[i], ncl, nch, Y[i], Z[i]);
540    }
541}
542/* ----------------------------------------------------------------------------------------------- */
543IMAGE_EXPORT(void) xor_rgb8matrix(rgb8 **X, long nrl,long nrh,long ncl, long nch, rgb8 **Y, rgb8 **Z)
544/* ----------------------------------------------------------------------------------------------- */
545{
546    long i;
547   
548    for(i=nrl; i<=nrh; i++) {
549        xor_rgb8vector(X[i], ncl, nch, Y[i], Z[i]);
550    }
551}
552/* --------------------------------------------------------------------------------------------------- */
553IMAGE_EXPORT(void) xor_rgb8xmatrix(rgbx8 **X, long nrl,long nrh,long ncl, long nch, rgbx8 **Y, rgbx8 **Z)
554/* --------------------------------------------------------------------------------------------------- */
555{
556    long i;
557   
558    for(i=nrl; i<=nrh; i++) {
559        xor_rgbx8vector(X[i], ncl, nch, Y[i], Z[i]);
560    }
561}
562/* ------------------------------------------------------------------------------------------- */
563IMAGE_EXPORT(void) xorc_bmatrix(byte **X, long nrl,long nrh,long ncl, long nch, byte y, byte **Z)
564/* ------------------------------------------------------------------------------------------- */
565{
566    long i;
567   
568    for(i=nrl; i<=nrh; i++) {
569        xorc_bvector(X[i], ncl, nch, y, Z[i]);
570    }
571}
572/* ------------------------------------------------------------------------------------------------ */
573IMAGE_EXPORT(void) xorc_si8matrix(sint8 **X, long nrl,long nrh,long ncl, long nch, sint8 y, sint8 **Z)
574/* ------------------------------------------------------------------------------------------------ */
575{
576    long i;
577   
578    for(i=nrl; i<=nrh; i++) {
579        xorc_si8vector(X[i], ncl, nch, y, Z[i]);
580    }
581}
582/* ------------------------------------------------------------------------------------------------ */
583IMAGE_EXPORT(void) xorc_ui8matrix(uint8 **X, long nrl,long nrh,long ncl, long nch, uint8 y, uint8 **Z)
584/* ------------------------------------------------------------------------------------------------ */
585{
586    long i;
587   
588    for(i=nrl; i<=nrh; i++) {
589        xorc_ui8vector(X[i], ncl, nch, y, Z[i]);
590    }
591}
592/* --------------------------------------------------------------------------------------------------- */
593IMAGE_EXPORT(void) xorc_i16matrix(sint16 **X, long nrl,long nrh,long ncl, long nch, sint16 y, sint16 **Z)
594/* --------------------------------------------------------------------------------------------------- */
595{
596    long i;
597   
598    for(i=nrl; i<=nrh; i++) {
599        xorc_si16vector(X[i], ncl, nch, y, Z[i]);
600    }
601}
602/* ---------------------------------------------------------------------------------------------------- */
603IMAGE_EXPORT(void) xorc_ui16matrix(uint16 **X, long nrl,long nrh,long ncl, long nch, uint16 y, uint16 **Z)
604/* ---------------------------------------------------------------------------------------------------- */
605{
606    long i;
607   
608    for(i=nrl; i<=nrh; i++) {
609        xorc_ui16vector(X[i], ncl, nch, y, Z[i]);
610    }
611}
612/* ---------------------------------------------------------------------------------------------------- */
613IMAGE_EXPORT(void) xorc_si32matrix(sint32 **X, long nrl,long nrh,long ncl, long nch, sint32 y, sint32 **Z)
614/* ---------------------------------------------------------------------------------------------------- */
615{
616    long i;
617   
618    for(i=nrl; i<=nrh; i++) {
619        xorc_si32vector(X[i], ncl, nch, y, Z[i]);
620    }
621}
622/* ---------------------------------------------------------------------------------------------------- */
623IMAGE_EXPORT(void) xorc_ui32matrix(uint32 **X, long nrl,long nrh,long ncl, long nch, uint32 y, uint32 **Z)
624/* ---------------------------------------------------------------------------------------------------- */
625{
626    long i;
627   
628    for(i=nrl; i<=nrh; i++) {
629        xorc_ui32vector(X[i], ncl, nch, y, Z[i]);
630    }
631}
632/* ---------------------------------------------------------------------------------------------------- */
633IMAGE_EXPORT(void) xorc_si64matrix(sint64 **X, long nrl,long nrh,long ncl, long nch, sint64 y, sint64 **Z)
634/* ---------------------------------------------------------------------------------------------------- */
635{
636    long i;
637   
638    for(i=nrl; i<=nrh; i++) {
639        xorc_si64vector(X[i], ncl, nch, y, Z[i]);
640    }
641}
642/* ---------------------------------------------------------------------------------------------------- */
643IMAGE_EXPORT(void) xorc_ui64matrix(uint64 **X, long nrl,long nrh,long ncl, long nch, uint64 y, uint64 **Z)
644/* ---------------------------------------------------------------------------------------------------- */
645{
646    long i;
647   
648    for(i=nrl; i<=nrh; i++) {
649        xorc_ui64vector(X[i], ncl, nch, y, Z[i]);
650    }
651}
652/* ---------------------------------------------------------------------------------------------- */
653IMAGE_EXPORT(void) xorc_rgb8matrix(rgb8 **X, long nrl,long nrh,long ncl, long nch, rgb8 y, rgb8 **Z)
654/* ---------------------------------------------------------------------------------------------- */
655{
656    long i;
657   
658    for(i=nrl; i<=nrh; i++) {
659        xorc_rgb8vector(X[i], ncl, nch, y, Z[i]);
660    }
661}
662/* -------------------------------------------------------------------------------------------------- */
663IMAGE_EXPORT(void) xorc_rgb8xmatrix(rgbx8 **X, long nrl,long nrh,long ncl, long nch, rgbx8 y, rgbx8 **Z)
664/* -------------------------------------------------------------------------------------------------- */
665{
666    long i;
667   
668    for(i=nrl; i<=nrh; i++) {
669        xorc_rgbx8vector(X[i], ncl, nch, y, Z[i]);
670    }
671}
672
673
674/*
675 * ----------
676 * --- And ---
677 * ----------
678 */
679
680/* -------------------------------------------------------------------------------------------- */
681IMAGE_EXPORT(void) and_bmatrix(byte **X, long nrl,long nrh,long ncl, long nch, byte **Y, byte **Z)
682/* -------------------------------------------------------------------------------------------- */
683{
684    long i;
685   
686    for(i=nrl; i<=nrh; i++) {
687        and_bvector(X[i], ncl, nch, Y[i], Z[i]);
688    }
689}
690/* ------------------------------------------------------------------------------------------------- */
691IMAGE_EXPORT(void) and_si8matrix(sint8 **X, long nrl,long nrh,long ncl, long nch, sint8 **Y, sint8 **Z)
692/* ------------------------------------------------------------------------------------------------- */
693{
694    long i;
695   
696    for(i=nrl; i<=nrh; i++) {
697        and_si8vector(X[i], ncl, nch, Y[i], Z[i]);
698    }
699}
700/* ------------------------------------------------------------------------------------------------- */
701IMAGE_EXPORT(void) and_ui8matrix(uint8 **X, long nrl,long nrh,long ncl, long nch, uint8 **Y, uint8 **Z)
702/* ------------------------------------------------------------------------------------------------- */
703{
704    long i;
705   
706    for(i=nrl; i<=nrh; i++) {
707        and_ui8vector(X[i], ncl, nch, Y[i], Z[i]);
708    }
709}
710/* ----------------------------------------------------------------------------------------------------- */
711IMAGE_EXPORT(void) and_si16matrix(sint16 **X, long nrl,long nrh,long ncl, long nch, sint16 **Y, sint16 **Z)
712/* ----------------------------------------------------------------------------------------------------- */
713{
714    long i;
715   
716    for(i=nrl; i<=nrh; i++) {
717        and_si16vector(X[i], ncl, nch, Y[i], Z[i]);
718    }
719}
720/* ----------------------------------------------------------------------------------------------------- */
721IMAGE_EXPORT(void) and_ui16matrix(uint16 **X, long nrl,long nrh,long ncl, long nch, uint16 **Y, uint16 **Z)
722/* ----------------------------------------------------------------------------------------------------- */
723{
724    long i;
725   
726    for(i=nrl; i<=nrh; i++) {
727        and_ui16vector(X[i], ncl, nch, Y[i], Z[i]);
728    }
729}
730/* ----------------------------------------------------------------------------------------------------- */
731IMAGE_EXPORT(void) and_si32matrix(sint32 **X, long nrl,long nrh,long ncl, long nch, sint32 **Y, sint32 **Z)
732/* ----------------------------------------------------------------------------------------------------- */
733{
734    long i;
735   
736    for(i=nrl; i<=nrh; i++) {
737        and_si32vector(X[i], ncl, nch, Y[i], Z[i]);
738    }
739}
740/* ----------------------------------------------------------------------------------------------------- */
741IMAGE_EXPORT(void) and_ui32matrix(uint32 **X, long nrl,long nrh,long ncl, long nch, uint32 **Y, uint32 **Z)
742/* ----------------------------------------------------------------------------------------------------- */
743{
744    long i;
745   
746    for(i=nrl; i<=nrh; i++) {
747        and_ui32vector(X[i], ncl, nch, Y[i], Z[i]);
748    }
749}
750/* ----------------------------------------------------------------------------------------------------- */
751IMAGE_EXPORT(void) and_si64matrix(sint64 **X, long nrl,long nrh,long ncl, long nch, sint64 **Y, sint64 **Z)
752/* ----------------------------------------------------------------------------------------------------- */
753{
754    long i;
755   
756    for(i=nrl; i<=nrh; i++) {
757        and_si64vector(X[i], ncl, nch, Y[i], Z[i]);
758    }
759}
760/* ----------------------------------------------------------------------------------------------------- */
761IMAGE_EXPORT(void) and_ui64matrix(uint64 **X, long nrl,long nrh,long ncl, long nch, uint64 **Y, uint64 **Z)
762/* ----------------------------------------------------------------------------------------------------- */
763{
764    long i;
765   
766    for(i=nrl; i<=nrh; i++) {
767        and_ui64vector(X[i], ncl, nch, Y[i], Z[i]);
768    }
769}
770/* ----------------------------------------------------------------------------------------------- */
771IMAGE_EXPORT(void) and_rgb8matrix(rgb8 **X, long nrl,long nrh,long ncl, long nch, rgb8 **Y, rgb8 **Z)
772/* ----------------------------------------------------------------------------------------------- */
773{
774    long i;
775   
776    for(i=nrl; i<=nrh; i++) {
777        and_rgb8vector(X[i], ncl, nch, Y[i], Z[i]);
778    }
779}
780/* --------------------------------------------------------------------------------------------------- */
781IMAGE_EXPORT(void) and_rgb8xmatrix(rgbx8 **X, long nrl,long nrh,long ncl, long nch, rgbx8 **Y, rgbx8 **Z)
782/* --------------------------------------------------------------------------------------------------- */
783{
784    long i;
785   
786    for(i=nrl; i<=nrh; i++) {
787        and_rgbx8vector(X[i], ncl, nch, Y[i], Z[i]);
788    }
789}
790/* ------------------------------------------------------------------------------------------- */
791IMAGE_EXPORT(void) andc_bmatrix(byte **X, long nrl,long nrh,long ncl, long nch, byte y, byte **Z)
792/* ------------------------------------------------------------------------------------------- */
793{
794    long i;
795   
796    for(i=nrl; i<=nrh; i++) {
797        andc_bvector(X[i], ncl, nch, y, Z[i]);
798    }
799}
800/* ------------------------------------------------------------------------------------------------ */
801IMAGE_EXPORT(void) andc_si8matrix(sint8 **X, long nrl,long nrh,long ncl, long nch, sint8 y, sint8 **Z)
802/* ------------------------------------------------------------------------------------------------ */
803{
804    long i;
805   
806    for(i=nrl; i<=nrh; i++) {
807        andc_si8vector(X[i], ncl, nch, y, Z[i]);
808    }
809}
810/* ------------------------------------------------------------------------------------------------ */
811IMAGE_EXPORT(void) andc_ui8matrix(uint8 **X, long nrl,long nrh,long ncl, long nch, uint8 y, uint8 **Z)
812/* ------------------------------------------------------------------------------------------------ */
813{
814    long i;
815   
816    for(i=nrl; i<=nrh; i++) {
817        andc_ui8vector(X[i], ncl, nch, y, Z[i]);
818    }
819}
820/* --------------------------------------------------------------------------------------------------- */
821IMAGE_EXPORT(void) andc_i16matrix(sint16 **X, long nrl,long nrh,long ncl, long nch, sint16 y, sint16 **Z)
822/* --------------------------------------------------------------------------------------------------- */
823{
824    long i;
825   
826    for(i=nrl; i<=nrh; i++) {
827        andc_si16vector(X[i], ncl, nch, y, Z[i]);
828    }
829}
830/* ---------------------------------------------------------------------------------------------------- */
831IMAGE_EXPORT(void) andc_ui16matrix(uint16 **X, long nrl,long nrh,long ncl, long nch, uint16 y, uint16 **Z)
832/* ---------------------------------------------------------------------------------------------------- */
833{
834    long i;
835   
836    for(i=nrl; i<=nrh; i++) {
837        andc_ui16vector(X[i], ncl, nch, y, Z[i]);
838    }
839}
840/* ---------------------------------------------------------------------------------------------------- */
841IMAGE_EXPORT(void) andc_si32matrix(sint32 **X, long nrl,long nrh,long ncl, long nch, sint32 y, sint32 **Z)
842/* ---------------------------------------------------------------------------------------------------- */
843{
844    long i;
845   
846    for(i=nrl; i<=nrh; i++) {
847        andc_si32vector(X[i], ncl, nch, y, Z[i]);
848    }
849}
850/* ---------------------------------------------------------------------------------------------------- */
851IMAGE_EXPORT(void) andc_ui32matrix(uint32 **X, long nrl,long nrh,long ncl, long nch, uint32 y, uint32 **Z)
852/* ---------------------------------------------------------------------------------------------------- */
853{
854    long i;
855   
856    for(i=nrl; i<=nrh; i++) {
857        andc_ui32vector(X[i], ncl, nch, y, Z[i]);
858    }
859}
860/* ---------------------------------------------------------------------------------------------------- */
861IMAGE_EXPORT(void) andc_si64matrix(sint64 **X, long nrl,long nrh,long ncl, long nch, sint64 y, sint64 **Z)
862/* ---------------------------------------------------------------------------------------------------- */
863{
864    long i;
865   
866    for(i=nrl; i<=nrh; i++) {
867        andc_si64vector(X[i], ncl, nch, y, Z[i]);
868    }
869}
870/* ---------------------------------------------------------------------------------------------------- */
871IMAGE_EXPORT(void) andc_ui64matrix(uint64 **X, long nrl,long nrh,long ncl, long nch, uint64 y, uint64 **Z)
872/* ---------------------------------------------------------------------------------------------------- */
873{
874    long i;
875   
876    for(i=nrl; i<=nrh; i++) {
877        andc_ui64vector(X[i], ncl, nch, y, Z[i]);
878    }
879}
880/* ---------------------------------------------------------------------------------------------- */
881IMAGE_EXPORT(void) andc_rgb8matrix(rgb8 **X, long nrl,long nrh,long ncl, long nch, rgb8 y, rgb8 **Z)
882/* ---------------------------------------------------------------------------------------------- */
883{
884    long i;
885   
886    for(i=nrl; i<=nrh; i++) {
887        andc_rgb8vector(X[i], ncl, nch, y, Z[i]);
888    }
889}
890/* -------------------------------------------------------------------------------------------------- */
891IMAGE_EXPORT(void) andc_rgb8xmatrix(rgbx8 **X, long nrl,long nrh,long ncl, long nch, rgbx8 y, rgbx8 **Z)
892/* -------------------------------------------------------------------------------------------------- */
893{
894    long i;
895   
896    for(i=nrl; i<=nrh; i++) {
897        andc_rgbx8vector(X[i], ncl, nch, y, Z[i]);
898    }
899}
Note: See TracBrowser for help on using the repository browser.