Changeset 20936 for trunk/Ohana/src/opihi/cmd.astro/multifit.c
- Timestamp:
- Dec 7, 2008, 3:31:01 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/cmd.astro/multifit.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/cmd.astro/multifit.c
r16059 r20936 46 46 sprintf (name, "c%d", i); 47 47 if ((Nc[i] = SelectVector (name, ANYVECTOR, TRUE)) == NULL) goto escape; 48 ResetVector (Nc[i], OPIHI_FLT, 1); 48 49 sprintf (name, "Mb%d", i); 49 50 if ((NMb[i] = SelectVector (name, OLDVECTOR, TRUE)) == NULL) goto escape; 51 REQUIRE_VECTOR_FLT (NMb[i], FALSE); 50 52 sprintf (name, "mb%d", i); 51 53 if ((Nmb[i] = SelectVector (name, OLDVECTOR, TRUE)) == NULL) goto escape; 54 REQUIRE_VECTOR_FLT (Nmb[i], FALSE); 52 55 sprintf (name, "wb%d", i); 53 56 if ((Nwb[i] = SelectVector (name, OLDVECTOR, TRUE)) == NULL) goto escape; 57 REQUIRE_VECTOR_FLT (Nwb[i], FALSE); 54 58 } 55 59 for (i = 0; i < Norder - 1; i++) { 56 60 sprintf (name, "ml%d", i); 57 61 if ((Nml[i] = SelectVector (name, OLDVECTOR, TRUE)) == NULL) goto escape; 62 REQUIRE_VECTOR_FLT (Nml[i], FALSE); 58 63 sprintf (name, "mh%d", i); 59 64 if ((Nmh[i] = SelectVector (name, OLDVECTOR, TRUE)) == NULL) goto escape; 65 REQUIRE_VECTOR_FLT (Nmh[i], FALSE); 60 66 sprintf (name, "wo%d", i); 61 67 if ((Nwo[i] = SelectVector (name, OLDVECTOR, TRUE)) == NULL) goto escape; 68 REQUIRE_VECTOR_FLT (Nwo[i], FALSE); 62 69 } 63 70 … … 72 79 v = 0; 73 80 for (n = 0; n < Nwo[i-1][0].Nelements; n++) { 74 v += -pow (Nwo[i-1][0].elements [n], (double)(j+J));81 v += -pow (Nwo[i-1][0].elements.Flt[n], (double)(j+J)); 75 82 } 76 83 a[Ny][Nx] = v; … … 83 90 v = 0; 84 91 for (n = 0; n < Nwo[i][0].Nelements; n++) { 85 v += -pow (Nwo[i][0].elements [n], (double)(j+J));92 v += -pow (Nwo[i][0].elements.Flt[n], (double)(j+J)); 86 93 } 87 94 a[Ny][Nx] = v; … … 94 101 v = 0; 95 102 for (n = 0; n < Nwb[i][0].Nelements; n++) { 96 v += pow (Nwb[i][0].elements [n], (double)(j+J));103 v += pow (Nwb[i][0].elements.Flt[n], (double)(j+J)); 97 104 } 98 105 if (i > 0) { 99 106 for (n = 0; n < Nwo[i-1][0].Nelements; n++) { 100 v += pow (Nwo[i-1][0].elements [n], (double)(j+J));107 v += pow (Nwo[i-1][0].elements.Flt[n], (double)(j+J)); 101 108 } 102 109 } 103 110 if (i < Norder - 1) { 104 111 for (n = 0; n < Nwo[i][0].Nelements; n++) { 105 v += pow (Nwo[i][0].elements [n], (double)(j+J));112 v += pow (Nwo[i][0].elements.Flt[n], (double)(j+J)); 106 113 } 107 114 } … … 123 130 v = 0; 124 131 for (n = 0; n < Nwb[i][0].Nelements; n++) { 125 v += NMb[i][0].elements [n]*pow (Nwb[i][0].elements[n], (double)j);126 v -= Nmb[i][0].elements [n]*pow (Nwb[i][0].elements[n], (double)j);132 v += NMb[i][0].elements.Flt[n]*pow (Nwb[i][0].elements.Flt[n], (double)j); 133 v -= Nmb[i][0].elements.Flt[n]*pow (Nwb[i][0].elements.Flt[n], (double)j); 127 134 } 128 135 if (i > 0) { 129 136 for (n = 0; n < Nwo[i-1][0].Nelements; n++) { 130 v += Nmh[i-1][0].elements [n] * pow (Nwo[i-1][0].elements[n], (double)j);131 v -= Nml[i-1][0].elements [n] * pow (Nwo[i-1][0].elements[n], (double)j);137 v += Nmh[i-1][0].elements.Flt[n] * pow (Nwo[i-1][0].elements.Flt[n], (double)j); 138 v -= Nml[i-1][0].elements.Flt[n] * pow (Nwo[i-1][0].elements.Flt[n], (double)j); 132 139 } 133 140 } 134 141 if (i < Norder - 1) { 135 142 for (n = 0; n < Nwo[i][0].Nelements; n++) { 136 v += Nml[i][0].elements [n] * pow (Nwo[i][0].elements[n], (double)j);137 v -= Nmh[i][0].elements [n] * pow (Nwo[i][0].elements[n], (double)j);143 v += Nml[i][0].elements.Flt[n] * pow (Nwo[i][0].elements.Flt[n], (double)j); 144 v -= Nmh[i][0].elements.Flt[n] * pow (Nwo[i][0].elements.Flt[n], (double)j); 138 145 } 139 146 } … … 146 153 for (i = 0; i < Norder; i++) { 147 154 Nc[i][0].Nelements = nterm[i]; 148 REALLOCATE (Nc[i][0].elements , float, nterm[i]);155 REALLOCATE (Nc[i][0].elements.Flt, opihi_flt, nterm[i]); 149 156 for (j = 0; j < nterm[i]; j++, Ny++) { 150 Nc[i][0].elements [j] = b[Ny][0];157 Nc[i][0].elements.Flt[j] = b[Ny][0]; 151 158 } 152 159 }
Note:
See TracChangeset
for help on using the changeset viewer.
