Changeset 16040 for trunk/Ohana/src/opihi
- Timestamp:
- Jan 8, 2008, 12:50:52 PM (19 years ago)
- Location:
- trunk/Ohana/src/opihi
- Files:
-
- 1 deleted
- 9 edited
-
dvo/dvomisc.c (modified) (1 diff)
-
dvo/fitsed.c (modified) (2 diffs)
-
dvo/gstar.c (modified) (4 diffs)
-
dvo/lcurve.c (modified) (4 diffs)
-
dvo/lightcurve.c (modified) (4 diffs)
-
dvo/subpix.c (modified) (1 diff)
-
lib.data/Makefile (modified) (1 diff)
-
lib.data/sort.c (deleted)
-
lib.data/starfuncs.c (modified) (3 diffs)
-
lib.shell/CommandOps.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/dvo/dvomisc.c
r7680 r16040 33 33 34 34 } 35 36 /* values are ave[i].R, ave[i].D, ave[i].M */37 void sortave (Average *ave, int N) {38 39 int l,j,ir,i;40 Average tmp;41 42 if (N < 2) return;43 l = N >> 1;44 ir = N - 1;45 for (;;) {46 if (l > 0) {47 l--;48 tmp = ave[l];49 }50 else {51 tmp = ave[ir];52 ave[ir] = ave[0];53 if (--ir == 0) {54 ave[0] = tmp;55 return;56 }57 }58 i = l;59 j = (l << 1) + 1;60 while (j <= ir) {61 if (j < ir && ave[j].R < ave[j+1].R) j++;62 if (tmp.R < ave[j].R) {63 ave[i] = ave[j];64 j += (i=j) + 1;65 }66 else j = ir + 1;67 }68 ave[i] = tmp;69 }70 }71 72 /** this does not seem to be used at the moment */73 /* values are ave[i].R, ave[i].D, ave[i].M */74 void sort_images (Image *image, int N) {75 76 int l,j,ir,i;77 Image tmp;78 79 if (N < 2) return;80 l = N >> 1;81 ir = N - 1;82 for (;;) {83 if (l > 0) {84 l--;85 tmp = image[l];86 }87 else {88 tmp = image[ir];89 image[ir] = image[0];90 if (--ir == 0) {91 image[0] = tmp;92 return;93 }94 }95 i = l;96 j = (l << 1) + 1;97 while (j <= ir) {98 if (j < ir && image[j].tzero < image[j+1].tzero) j++;99 if (tmp.tzero < image[j].tzero) {100 image[i] = image[j];101 j += (i=j) + 1;102 }103 else j = ir + 1;104 }105 image[i] = tmp;106 }107 }108 109 /* sort subset by image[subset[i]].tzero */110 void sort_image_subset (Image *image, int *subset, int N) {111 112 int l, j, ir, i, tmp;113 114 if (N < 2) return;115 l = N >> 1;116 ir = N - 1;117 for (;;) {118 if (l > 0) {119 l--;120 tmp = subset[l];121 }122 else {123 tmp = subset[ir];124 subset[ir] = subset[0];125 if (--ir == 0) {126 subset[0] = tmp;127 return;128 }129 }130 i = l;131 j = (l << 1) + 1;132 while (j <= ir) {133 if (j < ir && image[subset[j]].tzero < image[subset[j+1]].tzero) j++;134 if (image[tmp].tzero < image[subset[j]].tzero) {135 subset[i] = subset[j];136 j += (i=j) + 1;137 }138 else j = ir + 1;139 }140 subset[i] = tmp;141 }142 } -
trunk/Ohana/src/opihi/dvo/fitsed.c
r14401 r16040 436 436 SEDtableRow **sort_SEDtable (SEDtableRow *raw, int N) { 437 437 438 int l,j,ir,i;439 SEDtableRow **value , *temp;438 int i; 439 SEDtableRow **value; 440 440 441 441 if (N <= 0) return (NULL); … … 445 445 value[i] = &raw[i]; 446 446 } 447 if (N < 2) return (value); 448 449 l = N >> 1; 450 ir = N - 1; 451 for (;;) { 452 if (l > 0) { 453 l--; 454 temp = value[l]; 455 } 456 else { 457 temp = value[ir]; 458 value[ir] = value[0]; 459 if (--ir == 0) { 460 value[0] = temp; 461 return (value); 462 } 463 } 464 i = l; 465 j = (l << 1) + 1; 466 while (j <= ir) { 467 if (j < ir && value[j][0].color < value[j+1][0].color) ++j; 468 if (temp[0].color < value[j][0].color) { 469 value[i] = value[j]; 470 j += (i=j) + 1; 471 } 472 else j = ir + 1; 473 } 474 value[i] = temp; 475 } 447 448 # define SWAPFUNC(A,B){ SEDtableRow *temp = value[A]; value[A] = value[B]; value[B] = temp; } 449 # define COMPARE(A,B)(value[A][0].color < value[B][0].color) 450 451 OHANA_SORT (N, COMPARE, SWAPFUNC); 452 453 # undef SWAPFUNC 454 # undef COMPARE 476 455 477 456 return (value); -
trunk/Ohana/src/opihi/dvo/gstar.c
r15509 r16040 10 10 double Ra, Dec, Radius, Radius2, r, dec0, dec1; 11 11 double Mcat, Mrel; 12 float*RA, *DEC;12 double *RA, *DEC; 13 13 int i, j, k, m, N, *N1, Nsecfilt, NPTS, QUIET, FULL_OUTPUT; 14 14 int Nstars, found, GetMeasures, Nlo, Nhi; … … 93 93 94 94 Nstars = catalog.Naverage; 95 ALLOCATE (RA, float, Nstars);96 ALLOCATE (DEC, float, Nstars);95 ALLOCATE (RA, double, Nstars); 96 ALLOCATE (DEC, double, Nstars); 97 97 ALLOCATE (N1, int, Nstars); 98 98 … … 105 105 } 106 106 /* sort list by DEC */ 107 if (Nstars > 1) sort_ lists(DEC, RA, N1, Nstars);107 if (Nstars > 1) sort_coords_index (DEC, RA, N1, Nstars); 108 108 /* at this point, RA, DEC, and N1 are sorted by DEC. 109 109 catalog.average[N1[i]].R = RA[i] */ … … 308 308 } 309 309 310 isort _pair (codeNumber, sequence, Nsecfilt);310 isortpair (codeNumber, sequence, Nsecfilt); 311 311 free (codeNumber); 312 312 } -
trunk/Ohana/src/opihi/dvo/lcurve.c
r14401 r16040 5 5 char string[128], *p; 6 6 double Ra, Dec, Radius, Radius2, r; 7 float*RA, *DEC;7 double *RA, *DEC; 8 8 int kapa, TimeFormat; 9 9 int Nstars, found, AutoLimits, ErrorBars, GalMag, AbsPhot, SaveVectors; … … 86 86 87 87 Nstars = catalog.Naverage; 88 ALLOCATE (RA, float, Nstars);89 ALLOCATE (DEC, float, Nstars);88 ALLOCATE (RA, double, Nstars); 89 ALLOCATE (DEC, double, Nstars); 90 90 ALLOCATE (N1, int, Nstars); 91 91 … … 98 98 } 99 99 /* sort list by DEC */ 100 if (Nstars > 1) sort_ lists(DEC, RA, N1, Nstars);100 if (Nstars > 1) sort_coords_index (DEC, RA, N1, Nstars); 101 101 /* at this point, RA, DEC, and N1 are sorted by DEC. 102 102 catalog.average[N1[i]].R = RA[i] */ … … 142 142 143 143 if (ErrorBars) 144 sortthree (Xvec.elements, Yvec.elements, dYvec.elements, N);144 fsortthree (Xvec.elements, Yvec.elements, dYvec.elements, N); 145 145 else 146 146 fsortpair (Xvec.elements, Yvec.elements, N); -
trunk/Ohana/src/opihi/dvo/lightcurve.c
r14401 r16040 4 4 5 5 double Ra, Dec, Radius, Radius2, r; 6 float*RA, *DEC;6 double *RA, *DEC; 7 7 int Nstars, found, PhotCodeSelect; 8 8 int i, j, k, m, N, NPTS, Nsecfilt, RELPHOT, *N1, TimeFormat; … … 69 69 70 70 Nstars = catalog.Naverage; 71 ALLOCATE (RA, float, Nstars);72 ALLOCATE (DEC, float, Nstars);71 ALLOCATE (RA, double, Nstars); 72 ALLOCATE (DEC, double, Nstars); 73 73 ALLOCATE (N1, int, Nstars); 74 74 … … 81 81 } 82 82 /* sort list by DEC */ 83 if (Nstars > 1) sort_ lists(DEC, RA, N1, Nstars);83 if (Nstars > 1) sort_coords_index (DEC, RA, N1, Nstars); 84 84 /* at this point, RA, DEC, and N1 are sorted by DEC. 85 85 catalog.average[N1[i]].R = RA[i] */ … … 134 134 } 135 135 } 136 sortthree (tvec[0].elements, mvec[0].elements, dmvec[0].elements, N);136 fsortthree (tvec[0].elements, mvec[0].elements, dmvec[0].elements, N); 137 137 tvec[0].Nelements = mvec[0].Nelements = dmvec[0].Nelements = N; 138 138 -
trunk/Ohana/src/opihi/dvo/subpix.c
r15274 r16040 60 60 index[i] = i; 61 61 } 62 if (Nstars > 1) dsort_lists(DEC, RA, index, Nstars);62 if (Nstars > 1) sort_coords_index (DEC, RA, index, Nstars); 63 63 64 64 /* bracket the DEC range of interest */ -
trunk/Ohana/src/opihi/lib.data/Makefile
r15274 r16040 18 18 $(SDIR)/book.$(ARCH).o \ 19 19 $(SDIR)/page.$(ARCH).o \ 20 $(SDIR)/sort.$(ARCH).o \21 20 $(SDIR)/fft.$(ARCH).o \ 22 21 $(SDIR)/svdcmp.$(ARCH).o \ -
trunk/Ohana/src/opihi/lib.data/starfuncs.c
r7917 r16040 36 36 } 37 37 } 38 sort (ring, Nring);38 dsort (ring, Nring); 39 39 for (Npts = sky = dsky2 = 0, i = 0.25*Nring; i < 0.75*Nring; i++, Npts += 1.0) { 40 40 sky += ring[i]; … … 150 150 } 151 151 } 152 sort (sky, Nsky);152 dsort (sky, Nsky); 153 153 for (Npts = fsky = 0, i = 0.25*Nsky; i < 0.75*Nsky; i++, Npts += 1.0) { 154 154 fsky += sky[i]; … … 199 199 } 200 200 } 201 sort (sky, Nsky);201 dsort (sky, Nsky); 202 202 for (Npts = fsky = 0, i = 0.25*Nsky; i < 0.75*Nsky; i++, Npts += 1.0) { 203 203 fsky += sky[i]; -
trunk/Ohana/src/opihi/lib.shell/CommandOps.c
r14449 r16040 130 130 } 131 131 132 void sort_commands (int *seq) { 133 134 int i; 135 136 for (i = 0; i < Ncommands; i++) seq[i] = i; 137 138 # define SWAPFUNC(A,B){ int tmp = seq[A]; seq[A] = seq[B]; seq[B] = tmp; } 139 # define COMPARE(A,B)(strcmp (commands[seq[A]].name, commands[seq[B]].name) < 0) 140 141 OHANA_SORT (Ncommands, COMPARE, SWAPFUNC); 142 143 # undef SWAPFUNC 144 # undef COMPARE 145 146 } 147 132 148 void print_commands (FILE *f) { 133 149 … … 143 159 return; 144 160 } 145 146 void sort_commands (int *seq) {147 148 int l,j,ir,i, N;149 int temp;150 151 N = Ncommands;152 for (i = 0; i < N; i++)153 seq[i] = i;154 155 l = N >> 1;156 ir = N - 1;157 for (;;) {158 if (l > 0) {159 temp = seq[--l];160 }161 else {162 temp = seq[ir];163 seq[ir] = seq[0];164 if (--ir == 0) {165 seq[0] = temp;166 return;167 }168 }169 i = l;170 j = (l << 1) + 1;171 while (j <= ir) {172 if (j < ir && (strcmp (commands[seq[j]].name, commands[seq[j+1]].name) < 0)) ++j;173 if (strcmp (commands[temp].name, commands[seq[j]].name) < 0) {174 seq[i]=seq[j];175 j += (i=j) + 1;176 }177 else j = ir + 1;178 }179 seq[i] = temp;180 }181 }
Note:
See TracChangeset
for help on using the changeset viewer.
