From: yu.dongliang <18588496441@163.com> Date: Sun, 1 Sep 2024 19:24:38 +0000 (+0800) Subject: mat_add(), mat_sub() X-Git-Url: http://baseworks.info/?a=commitdiff_plain;h=81f4969776d08ce6ea1eaaf1af09f3fc56719658;p=mat.git mat_add(), mat_sub() --- diff --git a/mat.c b/mat.c index 64c9f99..c3e6ba8 100644 --- a/mat.c +++ b/mat.c @@ -90,14 +90,13 @@ void mat_add(mat_t* m, mat_t* m0, mat_t* m1) int n = m->n; for (i = 0; i < n; i++) { - for (j = 0; j < n; j++) { - int ij0 = (i + m0->i) * m0->b->n + (j + m0->j); - int ij1 = (i + m1->i) * m1->b->n + (j + m1->j); - int ij = (i + m->i) * m->b->n + (j + m->j); + int* d0 = m0->b->data + (i + m0->i) * m0->b->n + m0->j; + int* d1 = m1->b->data + (i + m1->i) * m1->b->n + m1->j; + int* d = m ->b->data + (i + m->i) * m->b->n + m->j; - m->b->data[ij] = m0->b->data[ij0] + m1->b->data[ij1]; - } + for (j = 0; j < n; j++) + d[j] = d0[j] + d1[j]; } } @@ -111,14 +110,13 @@ void mat_sub(mat_t* m, mat_t* m0, mat_t* m1) int n = m->n; for (i = 0; i < n; i++) { - for (j = 0; j < n; j++) { - int ij0 = (i + m0->i) * m0->b->n + (j + m0->j); - int ij1 = (i + m1->i) * m1->b->n + (j + m1->j); - int ij = (i + m->i) * m->b->n + (j + m->j); + int* d0 = m0->b->data + (i + m0->i) * m0->b->n + m0->j; + int* d1 = m1->b->data + (i + m1->i) * m1->b->n + m1->j; + int* d = m ->b->data + (i + m->i) * m->b->n + m->j; - m->b->data[ij] = m0->b->data[ij0] - m1->b->data[ij1]; - } + for (j = 0; j < n; j++) + d[j] = d0[j] - d1[j]; } }