From: yu.dongliang <maja_creater@qq.com>
Date: Fri, 20 Nov 2020 05:56:15 +0000 (+0800)
Subject: fix
X-Git-Url: http://baseworks.info/?a=commitdiff_plain;h=86251e7699bb979a656849def15ba1e1e55c4e57;p=mat.git

fix
---

diff --git a/mat.c b/mat.c
index 39784b1..0368098 100644
--- a/mat.c
+++ b/mat.c
@@ -143,29 +143,29 @@ void mat_mul_strassen(mat_t* m, mat_t* m0, mat_t* m1, int n_min)
 {
 	assert(m0->n == m1->n);
 	assert(m->n  == m0->n);
-
+#if 1
 	if (m->n <= n_min)
 		return mat_mul(m, m0, m1);
-
+#endif
 	if (n_min < 16)
-		printf("%s(), n_min: %d\n", __func__, n_min);
+		printf("%s(), m->n: %d, n_min: %d\n", __func__, m->n, n_min);
 
 	int n = m->n / 2;
 
-	mat_t* a = mat_alloc(0, 0, n, m0->b);
-	mat_t* b = mat_alloc(0, n, n, m0->b);
-	mat_t* c = mat_alloc(n, 0, n, m0->b);
-	mat_t* d = mat_alloc(n, n, n, m0->b);
+	mat_t* a = mat_alloc(m0->i,     m0->j,     n, m0->b);
+	mat_t* b = mat_alloc(m0->i,     m0->j + n, n, m0->b);
+	mat_t* c = mat_alloc(m0->i + n, m0->j,     n, m0->b);
+	mat_t* d = mat_alloc(m0->i + n, m0->j + n, n, m0->b);
 
-	mat_t* e = mat_alloc(0, 0, n, m1->b);
-	mat_t* f = mat_alloc(0, n, n, m1->b);
-	mat_t* g = mat_alloc(n, 0, n, m1->b);
-	mat_t* h = mat_alloc(n, n, n, m1->b);
+	mat_t* e = mat_alloc(m1->i,     m1->j,     n, m1->b);
+	mat_t* f = mat_alloc(m1->i,     m1->j + n, n, m1->b);
+	mat_t* g = mat_alloc(m1->i + n, m1->j,     n, m1->b);
+	mat_t* h = mat_alloc(m1->i + n, m1->j + n, n, m1->b);
 
-	mat_t* r = mat_alloc(0, 0, n, m->b);
-	mat_t* s = mat_alloc(0, n, n, m->b);
-	mat_t* t = mat_alloc(n, 0, n, m->b);
-	mat_t* u = mat_alloc(n, n, n, m->b);
+	mat_t* r = mat_alloc(m->i,      m->j,      n, m->b);
+	mat_t* s = mat_alloc(m->i,      m->j + n,  n, m->b);
+	mat_t* t = mat_alloc(m->i + n,  m->j,      n, m->b);
+	mat_t* u = mat_alloc(m->i + n,  m->j + n,  n, m->b);
 
 	mat_t* p1 = mat_alloc(0, 0, n, NULL);
 	mat_t* p2 = mat_alloc(0, 0, n, NULL);