大家都說程式寫久、工程師幹久了,都會有自己的脾氣在...
下面這段 code 是某大學上課教材裡用到的一段 code。
int is_equ(double** m1, double** m2 size_t row, size_t col) { return !memcmp((void*)*m1, (void*)*m2, sizeof(double)*row*col); }
我指正了,給了我的 code。
int is_equ(double** m1, double** m2, double eps, size_t row, size_t col) { size_t i, j; for(i=0; i<row; ++i) for(j=0; j<col; ++j) if(fabs(m1[i][j]-m2[i][j])>eps) return 0; return 1; }
上面這段 code 被打槍了,原因是「速度太慢、多此一舉」。
速度太慢可以接受,因我不敢妄下定論,不會有其他讓我感到驚艷的程式碼出現;
但「多此一舉」就... ,eps 是可以拿 FLT_MIN 或 DBL_MIN 當預設,
不過對方意思是連用都不要用.. 直接比記憶體內容就好。
其他的,就是沉默了。
全站熱搜
留言列表