- Timestamp:
- Nov 30, 2008, 11:13:15 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/gaussj.c
r20839 r20859 4 4 5 5 float *m; 6 opihi_flt *v; 6 opihi_flt *vf; 7 opihi_int *vi; 7 8 double **a, **b; 8 9 int i, j, N, status, QUIET; … … 32 33 } 33 34 35 isFloat = (B[0].type == OPIHI_FLT); 36 vf = B[0].elements.Flt; 37 vi = B[0].elements.Int; 38 34 39 m = (float *) A[0].matrix.buffer; 35 v = B[0].elements.Flt;36 40 for (i = 0; i < N; i++) { 37 41 for (j = 0; j < N; j++) { 38 42 a[i][j] = m[i+j*N]; 39 43 } 40 b[i][0] = v[i];44 b[i][0] = isFloat ? vf[i] : vi[i]; 41 45 } 42 46 43 47 status = dgaussjordan (a, b, N, 1); 48 49 // output vector needs to be float, so re-cast it 50 ResetVector (B, OPIHI_FLT, N); 51 vf = B[0].elements.Flt; 44 52 45 53 for (i = 0; i < N; i++) { … … 47 55 m[i+j*N] = a[i][j]; 48 56 } 49 v [i] = b[i][0];57 vf[i] = b[i][0]; 50 58 } 51 59
Note:
See TracChangeset
for help on using the changeset viewer.
