1 #include "mrilib.h"
2 
3 /*! Test if 2 images are equal.
4     Returns 1 if they are, 0 if they are not.  [30 Jun 2003] */
5 
mri_equal(MRI_IMAGE * aim,MRI_IMAGE * bim)6 int mri_equal( MRI_IMAGE *aim , MRI_IMAGE *bim )
7 {
8    char *aar , *bar ;
9    int nn ;
10 
11 ENTRY("mri_equal") ;
12 
13    if( aim == bim )                                RETURN( 1 );
14    if( aim == NULL || bim == NULL )                RETURN( 0 );
15 
16    if( aim->nvox != bim->nvox )                    RETURN( 0 );
17    if( aim->kind != bim->kind )                    RETURN( 0 );
18 
19    aar = mri_data_pointer(aim) ; if( aar == NULL ) RETURN( 0 );
20    bar = mri_data_pointer(bim) ; if( bar == NULL ) RETURN( 0 );
21 
22    nn = memcmp( aar , bar , aim->nvox * aim->pixel_size ) ;
23    if( nn != 0 ) nn = 0 ;
24    else          nn = 1 ;
25                                                    RETURN( nn);
26 }
27