ip_lib.c
/**** PARTE 1: OPERAZIONI MATEMATICHE FRA IP_MAT ****/
/* Esegue la somma di due ip_mat (tutte le dimensioni devono essere identiche).
 *
 * I parametri della funzione non subiscono modiche, il risultato viene salvato e restituito in output
 * all'interno di una nuova ip_mat.
 */
PARTE 1: OPERAZIONI MATEMATICHE FRA IP_MAT
Esegue la somma di due ip_mat (tutte le dimensioni devono essere identiche).

I parametri della funzione non subiscono modiche, il risultato viene salvato e restituito in output
all'interno di una nuova ip_mat.
PARTE 1 : OPERAZIONI MATEMATICHE FRA IP_MAT Esegue la somma di due ip_mat ( tutte le dimensioni devono essere identiche ) . I parametri della funzione non subiscono modiche il risultato viene salvato e restituito in output all ' interno di una nuova ip_mat .
ip_mat *ip_mat_sum(ip_mat *a, ip_mat *b)
{
    unsigned int ch, row, col;
    ip_mat *out;
    not_null_ip_mat(a);
    not_null_ip_mat(b);
    equal_dimension(a, b);
    out = ip_mat_create(a->h, a->w, a->k, 0.0); 
    for (ch = 0; ch < a->k; ch++)
    {
        for (row = 0; row < a->h; row++)
        {
            for (col = 0; col < a->w; col++)
                set_val(out, row, col, ch, (get_val(a, row, col, ch) + get_val(b, row, col, ch)));
        }
    }
    compute_stats(out); 
    return out;
}
ip_mat * ip_mat_sum ( ip_mat * a , ip_mat * b ) { unsigned int ch , row , col ; ip_mat * out ; not_null_ip_mat ( a ) ; not_null_ip_mat ( b ) ; equal_dimension ( a , b ) ; out = ip_mat_create ( a -> h , a -> w , a -> k , 0.0 ) ; for ( ch = 0 ; ch < a -> k ; ch ++ ) { for ( row = 0 ; row < a -> h ; row ++ ) { for ( col = 0 ; col < a -> w ; col ++ ) set_val ( out , row , col , ch , ( get_val ( a , row , col , ch ) + get_val ( b , row , col , ch ) ) ) ; } } compute_stats ( out ) ; return out ; }
PARTE 1: OPERAZIONI MATEMATICHE FRA IP_MAT
Esegue la somma di due ip_mat (tutte le dimensioni devono essere identiche).
PARTE 1 : OPERAZIONI MATEMATICHE FRA IP_MAT Esegue la somma di due ip_mat ( tutte le dimensioni devono essere identiche ) .
/*faccio la verifica per vedere se sono uguali le dimensioni delle ip_mat *a e ip_mat *b */ /* siccome ho in input 2 matrici 3D che hanno la stessa dimensione , sommandole ottentiamo una nuova matrice 3D con le stesse dimensioni*/ /*creo la nuova matrice 3D*/ /*modifico le statistiche per ogni canale della nuova matrice 3D*/