• R/O
  • HTTP
  • SSH
  • HTTPS

python: Commit

libtetrabz python package


Commit MetaInfo

Revision7589121560e2e1b9e95ffb7429c5b061f220fdd2 (tree)
Zeit2022-03-18 11:56:36
AutorMitsuaki Kawamura <kawamitsuaki@gmai...>
CommiterMitsuaki Kawamura

Log Message

Backup

Ändern Zusammenfassung

Diff

--- a/src/c/libtetrabz_dbldelta.c
+++ b/src/c/libtetrabz_dbldelta.c
@@ -23,6 +23,7 @@
2323 #include "libtetrabz_common.h"
2424 #include <stdio.h>
2525 #include <stdlib.h>
26+#include <math.h>
2627
2728 void libtetrabz_dbldelta2(
2829 int nb,
@@ -32,15 +33,19 @@ void libtetrabz_dbldelta2(
3233 /*
3334 2nd step of tetrahedron method.
3435 */
35- int ii, ib, indx[4];
36- double a10, a20, a02, a12, v, e[3];
36+ int i3, ib, indx[3];
37+ double a10, a20, a02, a12, v, e[3], e_abs;
3738
3839 for (ib = 0; ib < nb; ib++) {
3940
40- for (ii = 0; ii < 3; ii++) e[ii] = ej[ib][ii];
41+ e_abs = 0.0;
42+ for (i3 = 0; i3 < 3; i3++) {
43+ e[i3] = ej[ib][i3];
44+ if (e_abs < fabs(e[i3])) e_abs = fabs(e[i3]);
45+ }
4146 eig_sort(3, e, indx);
4247
43- if (e[2] < 1.0e-10) {
48+ if (e_abs < 1.0e-10) {
4449 printf("Nesting ##\n");
4550 }
4651
@@ -67,8 +72,8 @@ void libtetrabz_dbldelta2(
6772 w[ib][indx[2]] = v * (2.0 - a02 - a12);
6873 }
6974 else {
70- for (ii = 0; ii < 3; ii++)
71- w[ib][ii] = 0.0;
75+ for (i3 = 0; i3 < 3; i3++)
76+ w[ib][i3] = 0.0;
7277 }
7378 }
7479 }
@@ -123,7 +128,7 @@ void dbldelta(
123128 }
124129
125130 w2 = (double**)malloc(nb * sizeof(double*));
126- w2[0] = (double*)malloc(nb*3 * sizeof(double));
131+ w2[0] = (double*)malloc(nb * 3 * sizeof(double));
127132 for (ib = 0; ib < nb; ib++) {
128133 w2[ib] = w2[0] + ib * 3;
129134 }
@@ -160,16 +165,16 @@ void dbldelta(
160165 for (i4 = 0; i4 < 4; i4++) e[i4] = ei1[i4][ib];
161166 eig_sort(4, e, indx);
162167
163- if (e[0] < 0.0 && e[0] <= e[1]) {
168+ if (e[0] < 0.0 && 0.0 <= e[1]) {
164169
165170 libtetrabz_triangle_a1(e, 0.0, &v, tsmall);
166171
167172 if (v > thr) {
168- for (j3 = 0; j3 < 3; j3++)
169- for (jb = 0; jb < nb; jb++) ej2[jb][j3] = 0.0;
173+ for (jb = 0; jb < nb; jb++)
174+ for (j3 = 0; j3 < 3; j3++) ej2[jb][j3] = 0.0;
170175 for (i4 = 0; i4 < 4; i4++)
171- for (j3 = 0; j3 < 3; j3++)
172- for (jb = 0; jb < nb; jb++)
176+ for (jb = 0; jb < nb; jb++)
177+ for (j3 = 0; j3 < 3; j3++)
173178 ej2[jb][j3] += ej1[indx[i4]][jb] * tsmall[i4][j3];
174179 libtetrabz_dbldelta2(nb, ej2, w2);
175180 for (i4 = 0; i4 < 4; i4++)
@@ -183,11 +188,11 @@ void dbldelta(
183188 libtetrabz_triangle_b1(e, 0.0, &v, tsmall);
184189
185190 if (v > thr) {
186- for (j3 = 0; j3 < 3; j3++)
187- for (jb = 0; jb < nb; jb++) ej2[jb][j3] = 0.0;
191+ for (jb = 0; jb < nb; jb++)
192+ for (j3 = 0; j3 < 3; j3++) ej2[jb][j3] = 0.0;
188193 for (i4 = 0; i4 < 4; i4++)
189- for (j3 = 0; j3 < 3; j3++)
190- for (jb = 0; jb < nb; jb++)
194+ for (jb = 0; jb < nb; jb++)
195+ for (j3 = 0; j3 < 3; j3++)
191196 ej2[jb][j3] += ej1[indx[i4]][jb] * tsmall[i4][j3];
192197 libtetrabz_dbldelta2(nb, ej2, w2);
193198 for (i4 = 0; i4 < 4; i4++)
@@ -199,11 +204,11 @@ void dbldelta(
199204 libtetrabz_triangle_b2(e, 0.0, &v, tsmall);
200205
201206 if (v > thr) {
202- for (j3 = 0; j3 < 3; j3++)
203- for (jb = 0; jb < nb; jb++) ej2[jb][j3] = 0.0;
207+ for (jb = 0; jb < nb; jb++)
208+ for (j3 = 0; j3 < 3; j3++) ej2[jb][j3] = 0.0;
204209 for (i4 = 0; i4 < 4; i4++)
205- for (j3 = 0; j3 < 3; j3++)
206- for (jb = 0; jb < nb; jb++)
210+ for (jb = 0; jb < nb; jb++)
211+ for (j3 = 0; j3 < 3; j3++)
207212 ej2[jb][j3] += ej1[indx[i4]][jb] * tsmall[i4][j3];
208213 libtetrabz_dbldelta2(nb, ej2, w2);
209214 for (i4 = 0; i4 < 4; i4++)
@@ -217,11 +222,11 @@ void dbldelta(
217222 libtetrabz_triangle_c1(e, 0.0, &v, tsmall);
218223
219224 if (v > thr) {
220- for (j3 = 0; j3 < 3; j3++)
221- for (jb = 0; jb < nb; jb++) ej2[jb][j3] = 0.0;
225+ for (jb = 0; jb < nb; jb++)
226+ for (j3 = 0; j3 < 3; j3++) ej2[jb][j3] = 0.0;
222227 for (i4 = 0; i4 < 4; i4++)
223- for (j3 = 0; j3 < 3; j3++)
224- for (jb = 0; jb < nb; jb++)
228+ for (jb = 0; jb < nb; jb++)
229+ for (j3 = 0; j3 < 3; j3++)
225230 ej2[jb][j3] += ej1[indx[i4]][jb] * tsmall[i4][j3];
226231 libtetrabz_dbldelta2(nb, ej2, w2);
227232 for (i4 = 0; i4 < 4; i4++)
Show on old repository browser