00001
00002
00003
00004
00005 #include <math.h>
00006
00007 int hard_threshold(float **matrix,int Ni,int Nj,float threshold)
00008
00009 {
00010 int i,j,cnt=0;
00011
00012 for(i=0;i<Ni;i++)
00013 for(j=0;j<Nj;j++) {
00014 if(fabs(matrix[i][j])<=threshold) {
00015 matrix[i][j]=0;
00016 cnt++;
00017 }
00018 }
00019 return(cnt);
00020 }
00021
00022 void hard_threshold_which_nz(float **matrix,int Ni,int Nj,float threshold,int **nz_arr)
00023
00024 {
00025 int i,j,cnt=0;
00026
00027 for(i=0;i<Ni;i++)
00028 for(j=0;j<Nj;j++) {
00029
00030 if(fabs(matrix[i][j])<=threshold) {
00031 matrix[i][j]=0;
00032 nz_arr[i][j]=0;
00033 cnt++;
00034 }
00035 else
00036 nz_arr[i][j]=1;
00037 }
00038 }
00039