Changeset 20859
- Timestamp:
- Nov 30, 2008, 11:13:15 AM (17 years ago)
- Location:
- branches/eam_branch_20081124/Ohana/src/opihi
- Files:
-
- 1 added
- 55 edited
-
cmd.astro/biassub.c (modified) (1 diff)
-
cmd.astro/coords.c (modified) (1 diff)
-
cmd.astro/cplot.c (modified) (1 diff)
-
cmd.astro/csystem.c (modified) (1 diff)
-
cmd.astro/czplot.c (modified) (2 diffs)
-
cmd.astro/multifit.c (modified) (1 diff)
-
cmd.astro/precess.c (modified) (2 diffs)
-
cmd.astro/profile.c (modified) (1 diff)
-
cmd.astro/spec.c (modified) (1 diff)
-
cmd.data/accum.c (modified) (2 diffs)
-
cmd.data/applyfit.c (modified) (1 diff)
-
cmd.data/applyfit2d.c (modified) (1 diff)
-
cmd.data/concat.c (modified) (2 diffs)
-
cmd.data/contour.c (modified) (1 diff)
-
cmd.data/cumulative.c (modified) (2 diffs)
-
cmd.data/cut.c (modified) (2 diffs)
-
cmd.data/dbselect.c (modified) (2 diffs)
-
cmd.data/dimendown.c (modified) (1 diff)
-
cmd.data/dimenup.c (modified) (2 diffs)
-
cmd.data/fft1d.c (modified) (2 diffs)
-
cmd.data/fit.c (modified) (1 diff)
-
cmd.data/fit2d.c (modified) (1 diff)
-
cmd.data/gaussdeviate.c (modified) (2 diffs)
-
cmd.data/gaussj.c (modified) (3 diffs)
-
cmd.data/grid.c (modified) (1 diff)
-
cmd.data/gridify.c (modified) (1 diff)
-
cmd.data/histogram.c (modified) (2 diffs)
-
cmd.data/imcut.c (modified) (1 diff)
-
cmd.data/imhist.c (modified) (1 diff)
-
cmd.data/integrate.c (modified) (2 diffs)
-
cmd.data/sort.c (modified) (1 diff)
-
doc/VectorTypes.txt (added)
-
dvo/calmextract.c (modified) (2 diffs)
-
dvo/ccd.c (modified) (1 diff)
-
dvo/cmd.c (modified) (1 diff)
-
dvo/cmpread.c (modified) (1 diff)
-
dvo/compare.c (modified) (2 diffs)
-
dvo/detrend.c (modified) (1 diff)
-
dvo/gstar.c (modified) (1 diff)
-
dvo/images.c (modified) (1 diff)
-
dvo/imbox.c (modified) (1 diff)
-
dvo/imdata.c (modified) (2 diffs)
-
dvo/imdense.c (modified) (1 diff)
-
dvo/imextract.c (modified) (1 diff)
-
dvo/imrough.c (modified) (2 diffs)
-
dvo/imstats.c (modified) (1 diff)
-
dvo/lcurve.c (modified) (1 diff)
-
dvo/lightcurve.c (modified) (1 diff)
-
dvo/procks.c (modified) (1 diff)
-
dvo/showtile.c (modified) (1 diff)
-
dvo/simage.c (modified) (1 diff)
-
dvo/skycat.c (modified) (1 diff)
-
lib.data/graphtools.c (modified) (1 diff)
-
lib.shell/VectorOps.c (modified) (1 diff)
-
mana/fitcontour.c (modified) (1 diff)
-
mana/rawstars.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branch_20081124/Ohana/src/opihi/cmd.astro/biassub.c
r20839 r20859 91 91 92 92 if (!NoVector) { 93 xvec[0].Nelements = yvec[0].Nelements = nlong; 94 REALLOCATE (xvec[0].elements.Flt, opihi_flt, nlong); 95 REALLOCATE (yvec[0].elements.Flt, opihi_flt, nlong); 93 ResetVector (xvec, OPIHI_FLT, nlong); 94 ResetVector (yvec, OPIHI_FLT, nlong); 96 95 for (i = 0; i < nlong; i++) { 97 96 xvec[0].elements.Flt[i] = i + start; -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.astro/coords.c
r20839 r20859 56 56 return (FALSE); 57 57 } 58 REQUIRE_VECTOR_FLT (xvec, FALSE); 59 REQUIRE_VECTOR_FLT (yvec, FALSE); 58 60 form = VECTOR; 59 61 } -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.astro/cplot.c
r20857 r20859 31 31 } 32 32 33 ALLOCATE (Xvec.elements.Flt, opihi_flt, xvec[0].Nelements); 34 ALLOCATE (Yvec.elements.Flt, opihi_flt, xvec[0].Nelements); 35 36 Xvec.Nelements = xvec[0].Nelements; 37 Yvec.Nelements = xvec[0].Nelements; 33 ResetVector (Xvec, OPIHI_FLT, xvec[0].Nelements); 34 ResetVector (Yvec, OPIHI_FLT, xvec[0].Nelements); 38 35 39 36 r = xvec[0].elements.Flt; -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.astro/csystem.c
r20839 r20859 54 54 } 55 55 56 CastVector (xvec, OPIHI_FLT); 57 CastVector (yvec, OPIHI_FLT); 58 56 59 xptr = xvec[0].elements.Flt; 57 60 yptr = yvec[0].elements.Flt; -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.astro/czplot.c
r20857 r20859 28 28 REQUIRE_VECTOR_FLT (xvec, FALSE); 29 29 REQUIRE_VECTOR_FLT (yvec, FALSE); 30 REQUIRE_VECTOR_FLT (zvec, FALSE); 30 31 31 32 if (xvec[0].Nelements != yvec[0].Nelements) { … … 37 38 return (FALSE); 38 39 } 39 Xvec.Nelements = xvec[0].Nelements; 40 Yvec.Nelements = xvec[0].Nelements; 41 Zvec.Nelements = zvec[0].Nelements; 42 ALLOCATE (Xvec.elements.Flt, opihi_flt, Xvec.Nelements); 43 ALLOCATE (Yvec.elements.Flt, opihi_flt, Yvec.Nelements); 44 ALLOCATE (Zvec.elements.Flt, opihi_flt, Zvec.Nelements); 40 ResetVector (Xvec, OPIHI_FLT, xvec[0].Nelements); 41 ResetVector (Yvec, OPIHI_FLT, xvec[0].Nelements); 42 ResetVector (Zvec, OPIHI_FLT, xvec[0].Nelements); 45 43 46 44 r = xvec[0].elements.Flt; -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.astro/multifit.c
r20839 r20859 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 -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.astro/precess.c
r20839 r20859 90 90 } 91 91 92 for (i = 0; i < xvec[0].Nelements; i++) { 93 A = xvec[0].elements.Flt[i]; 94 D = yvec[0].elements.Flt[i]; 92 // cast xvec or yvec to FLT if it is type INT 93 CastVector (xvec, OPIHI_FLT); 94 CastVector (yvec, OPIHI_FLT); 95 96 opihi_flt *Av = xvec[0].elements.Flt; 97 opihi_flt *Dv = yvec[0].elements.Flt; 98 99 for (i = 0; i < xvec[0].Nelements; i++, Av, Dv) { 100 A = *Av; 101 D = *Dv; 95 102 SD = cos(RAD_DEG*A + zeta)*sin(theta)*cos(RAD_DEG*D) + cos(theta)*sin(RAD_DEG*D); 96 103 CD = sqrt (1 - SD*SD); … … 101 108 RA = DEG_RAD*atan2(SA, CA) + z; 102 109 103 if (RA < 0) 104 RA += 360; 110 if (RA < 0) RA += 360; 105 111 106 xvec[0].elements.Flt[i]= RA;107 yvec[0].elements.Flt[i]= DEC;112 *Av = RA; 113 *Dv = DEC; 108 114 } 109 115 -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.astro/profile.c
r20839 r20859 28 28 if ((yvec = SelectVector (argv[3], ANYVECTOR, TRUE)) == NULL) return (FALSE); 29 29 30 xvec[0].Nelements = yvec[0].Nelements =(int)SQ(2*N+1);31 R EALLOCATE (xvec[0].elements.Flt, opihi_flt, 5*(int)SQ(2*N+1));32 REALLOCATE (yvec[0].elements.Flt, opihi_flt, 5*(int)SQ(2*N+1)); 30 ResetVector (xvec, OPIHI_FLT, (int)SQ(2*N+1); 31 ResetVector (yvec, OPIHI_FLT, (int)SQ(2*N+1); 32 33 33 bzero (yvec[0].elements.Flt, (int)SQ(2*N+1)*sizeof(opihi_flt)+1); 34 34 V = (float *)(buf[0].matrix.buffer); -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.astro/spec.c
r20839 r20859 55 55 56 56 N = y2 - y1; 57 REALLOCATE (xvec[0].elements.Flt, opihi_flt, N); 58 REALLOCATE (yvec[0].elements.Flt, opihi_flt, N); 59 xvec[0].Nelements = N; 60 yvec[0].Nelements = N; 57 ResetVector (xvec, OPIHI_FLT, N); 58 ResetVector (yvec, OPIHI_FLT, N); 61 59 62 60 ALLOCATE (buffer, float, Nlong); -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/accum.c
r20839 r20859 30 30 if ((out = SelectVector (argv[2], ANYVECTOR, TRUE)) == NULL) return (FALSE); 31 31 32 REQUIRE_VECTOR_FLT (val, FALSE); 33 REQUIRE_VECTOR_FLT (key, FALSE); 34 32 35 start = atof (argv[4]); 33 36 end = atof (argv[5]); … … 46 49 Nbins = (end - start) / delta; 47 50 48 out[0].Nelements = Nbins; 49 REALLOCATE (out[0].elements.Flt, opihi_flt, out[0].Nelements); 51 ResetVector (out, OPIHI_FLT, Nbins); 50 52 bzero (out[0].elements.Flt, sizeof(opihi_flt)*out[0].Nelements); 51 53 if (Normalize) { -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/applyfit.c
r20839 r20859 36 36 free (c); 37 37 } 38 yvec[0].Nelements = xvec[0].Nelements; 39 R EALLOCATE (yvec[0].elements.Flt, opihi_flt, yvec[0].Nelements);38 39 ResetVector (yvec, OPIHI_FLT, xvec[0].Nelements); 40 40 bzero (yvec[0].elements.Flt, sizeof(opihi_flt)*yvec[0].Nelements); 41 x = xvec[0].elements.Flt;42 41 y = yvec[0].elements.Flt; 43 42 44 for (j = 0; j < xvec[0].Nelements; j++, x++, y++) { 45 X = 1; 46 for (i = 0; i < order + 1; i++) { 47 *y += C[i]*X; 48 X = X * (*x); 43 if (xvec[0].type == OPIHI_FLT) { 44 opihi_flt *x = xvec[0].elements.Flt; 45 for (j = 0; j < xvec[0].Nelements; j++, x++, y++) { 46 X = 1; 47 for (i = 0; i < order + 1; i++) { 48 *y += C[i]*X; 49 X = X * (*x); 50 } 51 } 52 } else { 53 opihi_int *x = xvec[0].elements.Int; 54 for (j = 0; j < xvec[0].Nelements; j++, x++, y++) { 55 X = 1; 56 for (i = 0; i < order + 1; i++) { 57 *y += C[i]*X; 58 X = X * (*x); 59 } 49 60 } 50 61 } -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/applyfit2d.c
r20839 r20859 43 43 } 44 44 45 zvec[0].Nelements = xvec[0].Nelements; 46 REALLOCATE (zvec[0].elements.Flt, opihi_flt, zvec[0].Nelements); 45 ResetVector (zvec, OPIHI_FLT, xvec[0].Nelements); 47 46 bzero (zvec[0].elements.Flt, sizeof(opihi_flt)*zvec[0].Nelements); 48 x = xvec[0].elements.Flt;49 y = yvec[0].elements.Flt;50 47 z = zvec[0].elements.Flt; 51 48 52 for (n = 0; n < xvec[0].Nelements; n++, x++, y++, z++) { 53 Y = X = 1; 54 for (j = 0; j < order + 1; j++) { 55 X = Y; 56 for (i = 0; i < order + 1 - j; i++) { 57 *z += C[i][j]*X; 58 X = X * (*x); 49 // we have four cases (x == flt or int) and (y == flt or int) 50 if ((xvec[0].type == OPIHI_FLT) && (yvec[0].type == OPIHI_FLT)) { 51 opihi_flt *x = xvec[0].elements.Flt; 52 opihi_flt *y = yvec[0].elements.Flt; 53 for (n = 0; n < xvec[0].Nelements; n++, x++, y++, z++) { 54 Y = X = 1; 55 for (j = 0; j < order + 1; j++) { 56 X = Y; 57 for (i = 0; i < order + 1 - j; i++) { 58 *z += C[i][j]*X; 59 X = X * (*x); 60 } 61 Y = Y * (*y); 59 62 } 60 Y = Y * (*y);61 63 } 62 64 } 65 if ((xvec[0].type == OPIHI_FLT) && (yvec[0].type == OPIHI_INT)) { 66 opihi_flt *x = xvec[0].elements.Flt; 67 opihi_int *y = yvec[0].elements.Int; 68 for (n = 0; n < xvec[0].Nelements; n++, x++, y++, z++) { 69 Y = X = 1; 70 for (j = 0; j < order + 1; j++) { 71 X = Y; 72 for (i = 0; i < order + 1 - j; i++) { 73 *z += C[i][j]*X; 74 X = X * (*x); 75 } 76 Y = Y * (*y); 77 } 78 } 79 } 80 if ((xvec[0].type == OPIHI_INT) && (yvec[0].type == OPIHI_FLT)) { 81 opihi_int *x = xvec[0].elements.Int; 82 opihi_flt *y = yvec[0].elements.Flt; 83 for (n = 0; n < xvec[0].Nelements; n++, x++, y++, z++) { 84 Y = X = 1; 85 for (j = 0; j < order + 1; j++) { 86 X = Y; 87 for (i = 0; i < order + 1 - j; i++) { 88 *z += C[i][j]*X; 89 X = X * (*x); 90 } 91 Y = Y * (*y); 92 } 93 } 94 } 95 if ((xvec[0].type == OPIHI_INT) && (yvec[0].type == OPIHI_INT)) { 96 opihi_int *x = xvec[0].elements.Int; 97 opihi_int *y = yvec[0].elements.Int; 98 for (n = 0; n < xvec[0].Nelements; n++, x++, y++, z++) { 99 Y = X = 1; 100 for (j = 0; j < order + 1; j++) { 101 X = Y; 102 for (i = 0; i < order + 1 - j; i++) { 103 *z += C[i][j]*X; 104 X = X * (*x); 105 } 106 Y = Y * (*y); 107 } 108 } 109 } 110 63 111 for (i = 0; i < order + 1; i++) free (C[i]); 64 112 free (C); -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/concat.c
r20839 r20859 19 19 Nin = ovec[0].Nelements; 20 20 ovec[0].Nelements++; 21 REALLOCATE (ovec[0].elements.Flt, opihi_flt, ovec[0].Nelements); 22 ovec[0].elements.Flt[Nin] = value; 21 if (ovec[0].type == OPIHI_FLT) { 22 REALLOCATE (ovec[0].elements.Flt, opihi_flt, ovec[0].Nelements); 23 ovec[0].elements.Flt[Nin] = value; 24 } else { 25 REALLOCATE (ovec[0].elements.Int, opihi_int, ovec[0].Nelements); 26 ovec[0].elements.Int[Nin] = value; 27 } 23 28 return (TRUE); 24 29 } … … 26 31 if ((ivec = SelectVector (argv[1], OLDVECTOR, TRUE)) == NULL) return (FALSE); 27 32 28 REALLOCATE (ovec[0].elements.Flt, opihi_flt, ovec[0].Nelements + ivec[0].Nelements); 29 for (j = ovec[0].Nelements, i = 0; i < ivec[0].Nelements; i++, j++) { 30 ovec[0].elements.Flt[j] = ivec[0].elements.Flt[i]; 33 // we have 4 cases: (ivec == flt or int) and (ovec == flt or int) 34 if ((ovec[0].type == OPIHI_FLT) && (ivec[0].type == OPIHI_FLT)) { 35 REALLOCATE (ovec[0].elements.Flt, opihi_flt, ovec[0].Nelements + ivec[0].Nelements); 36 for (j = ovec[0].Nelements, i = 0; i < ivec[0].Nelements; i++, j++) { 37 ovec[0].elements.Flt[j] = ivec[0].elements.Flt[i]; 38 } 31 39 } 40 if ((ovec[0].type == OPIHI_FLT) && (ivec[0].type == OPIHI_INT)) { 41 REALLOCATE (ovec[0].elements.Flt, opihi_flt, ovec[0].Nelements + ivec[0].Nelements); 42 for (j = ovec[0].Nelements, i = 0; i < ivec[0].Nelements; i++, j++) { 43 ovec[0].elements.Flt[j] = ivec[0].elements.Int[i]; 44 } 45 } 46 if ((ovec[0].type == OPIHI_INT) && (ivec[0].type == OPIHI_INT)) { 47 REALLOCATE (ovec[0].elements.Int, opihi_int, ovec[0].Nelements + ivec[0].Nelements); 48 for (j = ovec[0].Nelements, i = 0; i < ivec[0].Nelements; i++, j++) { 49 ovec[0].elements.Int[j] = ivec[0].elements.Int[i]; 50 } 51 } 52 53 // this case forces ovec to be raised to FLT 54 if ((ovec[0].type == OPIHI_INT) && (ivec[0].type == OPIHI_FLT)) { 55 ALLOCATE (temp, opihi_flt, ovec[0].Nelements + ivec[0].Nelements); 56 for (i = 0; i < ovec[0].Nelements; i++) { 57 temp[i] = ovec[0].elements.Int[i]; 58 } 59 ovec[0].type = OPIHI_FLT; 60 free (ovec[0].elements.Int); 61 ovec[0].elements.Flt = temp; 62 for (j = ovec[0].Nelements, i = 0; i < ivec[0].Nelements; i++, j++) { 63 ovec[0].elements.Flt[j] = ivec[0].elements.Flt[i]; 64 } 65 } 66 32 67 ovec[0].Nelements += ivec[0].Nelements; 33 34 68 return (TRUE); 35 36 69 } -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/contour.c
r20839 r20859 92 92 N = 0; 93 93 NVEC = 100; 94 R EALLOCATE (xv[0].elements.Flt, opihi_flt, NVEC);95 R EALLOCATE (yv[0].elements.Flt, opihi_flt, NVEC);94 ResetVector (xv, OPIHI_FLT, NVEC); 95 ResetVector (yv, OPIHI_FLT, NVEC); 96 96 97 97 for (j = 1; j < Ny; j++) { -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/cumulative.c
r20839 r20859 4 4 5 5 int i; 6 opihi_flt *V i, *Vo;6 opihi_flt *Vo; 7 7 Vector *ivec, *ovec; 8 8 … … 14 14 if ((ivec = SelectVector (argv[1], OLDVECTOR, TRUE)) == NULL) return (FALSE); 15 15 if ((ovec = SelectVector (argv[2], ANYVECTOR, TRUE)) == NULL) return (FALSE); 16 ovec[0].Nelements = ivec[0].Nelements; 17 18 REALLOCATE (ovec[0].elements.Flt, opihi_flt, ovec[0].Nelements); 16 17 ResetVector (ovec, OPIHI_FLT, ivec[0].Nelements); 19 18 bzero (ovec[0].elements.Flt, sizeof(opihi_flt)*ovec[0].Nelements); 20 19 21 Vi = ivec[0].elements.Flt;22 20 Vo = ovec[0].elements.Flt; 23 *Vo = *Vi; 24 for (i = 1; i < ivec[0].Nelements; i++, Vi++, Vo++) { 25 *Vo = Vo[-1] + *Vi; 26 } 21 22 if (ivec[0].type == OPIHI_FLT) { 23 opihi_flt *Vi = ivec[0].elements.Flt; 24 *Vo = *Vi; 25 for (i = 1; i < ivec[0].Nelements; i++, Vi++, Vo++) { 26 *Vo = Vo[-1] + *Vi; 27 } 28 } else { 29 opihi_int *Vi = ivec[0].elements.Int; 30 *Vo = *Vi; 31 for (i = 1; i < ivec[0].Nelements; i++, Vi++, Vo++) { 32 *Vo = Vo[-1] + *Vi; 33 } 34 } 27 35 return (TRUE); 28 36 } -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/cut.c
r20839 r20859 48 48 case 'X': 49 49 /* create output vectors */ 50 xvec[0].Nelements = yvec[0].Nelements = nx; 51 REALLOCATE (xvec[0].elements.Flt, opihi_flt, MAX (nx, 1)); 52 REALLOCATE (yvec[0].elements.Flt, opihi_flt, MAX (nx, 1)); 50 ResetVector (xvec, OPIHI_FLT, MAX (nx, 1)); 51 ResetVector (yvec, OPIHI_FLT, MAX (nx, 1)); 53 52 bzero (yvec[0].elements.Flt, nx*sizeof(opihi_flt)); 54 53 for (i = 0; i < nx; i++) { … … 81 80 case 'y': 82 81 case 'Y': 83 xvec[0].Nelements = yvec[0].Nelements = ny; 84 REALLOCATE (xvec[0].elements.Flt, opihi_flt, ny); 85 REALLOCATE (yvec[0].elements.Flt, opihi_flt, ny); 82 ResetVector (xvec, OPIHI_FLT, MAX (ny, 1)); 83 ResetVector (yvec, OPIHI_FLT, MAX (ny, 1)); 86 84 bzero (yvec[0].elements.Flt, ny*sizeof(opihi_flt)); 87 85 for (i = 0; i < ny; i++) { -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/dbselect.c
r20839 r20859 67 67 return (FALSE); 68 68 } 69 REALLOCATE (vec[i][0].elements.Flt, opihi_flt, Nrows); 70 vec[i][0].Nelements = Nrows; 69 switch (fields[i].type) { 70 case FIELD_TYPE_TINY: 71 case FIELD_TYPE_SHORT: 72 case FIELD_TYPE_LONG: 73 case FIELD_TYPE_INT24: 74 case FIELD_TYPE_LONGLONG: 75 ResetVector (vec[i], OPIHI_INT, Nrows); 76 break; 77 case FIELD_TYPE_DECIMAL: 78 case FIELD_TYPE_FLOAT: 79 case FIELD_TYPE_DOUBLE: 80 case FIELD_TYPE_TIME: 81 case FIELD_TYPE_DATE: 82 case FIELD_TYPE_DATETIME: 83 ResetVector (vec[i], OPIHI_FLT, Nrows); 84 break; 85 default: 86 ResetVector (vec[i], OPIHI_FLT, Nrows); 87 break; 71 88 } 72 89 … … 88 105 case FIELD_TYPE_INT24: 89 106 case FIELD_TYPE_LONGLONG: 107 vec[i][0].elements.Int[j] = atol (row[i]); 108 break; 90 109 case FIELD_TYPE_DECIMAL: 91 110 case FIELD_TYPE_FLOAT: -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/dimendown.c
r20839 r20859 30 30 Npix = Nx * Ny; 31 31 32 vec[0].Nelements = Npix; 33 REALLOCATE (vec[0].elements.Flt, opihi_flt, Npix); 32 ResetVector (vec, OPIHI_FLT, Npix); 34 33 35 34 in = (float *) buf[0].matrix.buffer; -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/dimenup.c
r20839 r20859 4 4 5 5 int i, Nx, Ny, Npix; 6 opihi_flt *in;7 6 float *out; 8 7 Vector *vec; … … 30 29 31 30 out = (float *) buf[0].matrix.buffer; 32 in = vec[0].elements.Flt;33 31 34 for (i = 0; i < Npix; i++, in++, out++) { 35 *out = *in; 32 if (vec[0].type == OPIHI_FLT) { 33 opihi_flt *in = vec[0].elements.Flt; 34 for (i = 0; i < Npix; i++, in++, out++) { 35 *out = *in; 36 } 37 } else { 38 opihi_int *in = vec[0].elements.Int; 39 for (i = 0; i < Npix; i++, in++, out++) { 40 *out = *in; 41 } 36 42 } 37 43 -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/fft1d.c
r20839 r20859 25 25 if ((Ire = SelectVector (argv[1], OLDVECTOR, TRUE)) == NULL) return (FALSE); 26 26 27 REQUIRE_VECTOR_FLT (Ire, FALSE); 28 if (Iim) { REQUIRE_VECTOR_FLT (Iim, FALSE); } 29 27 30 // check the input data (match lengths? binary length?) 28 31 Npix = Ire[0].Nelements; … … 40 43 if ((Oim = SelectVector (argv[5], ANYVECTOR, TRUE)) == NULL) return (FALSE); 41 44 42 // allocate sufficient output space 43 Ore[0].Nelements = Npix; 44 Oim[0].Nelements = Npix; 45 REALLOCATE (Ore[0].elements.Flt, opihi_flt, Npix); 46 REALLOCATE (Oim[0].elements.Flt, opihi_flt, Npix); 45 // allocate sufficient output space, force output to be FLT 46 ResetVector (Ore, OPIHI_FLT, Npix); 47 ResetVector (Oim, OPIHI_FLT, Npix); 47 48 48 49 // copy data to output vectors (fft is done in place) -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/fit.c
r20839 r20859 53 53 return (FALSE); 54 54 } 55 if (Weight && xvec[0].Nelements != dyvec[0].Nelements) { 56 gprint (GP_ERR, "vectors must have same length\n"); 57 return (FALSE); 58 } 59 55 REQUIRE_VECTOR_FLT (xvec, FALSE); 56 REQUIRE_VECTOR_FLT (yvec, FALSE); 57 58 if (Weight) { 59 REQUIRE_VECTOR_FLT (dyvec, FALSE); 60 if (xvec[0].Nelements != dyvec[0].Nelements) { 61 gprint (GP_ERR, "vectors must have same length\n"); 62 return (FALSE); 63 } 64 } 65 66 60 67 /* nterm is number of polynomial terms, starting at x^0 */ 61 68 order = atof (argv[3]); -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/fit2d.c
r20839 r20859 64 64 return (FALSE); 65 65 } 66 if (Weight && xvec[0].Nelements != dzvec[0].Nelements) { 67 gprint (GP_ERR, "vectors must have same length\n"); 68 return (FALSE); 66 REQUIRE_VECTOR_FLT (xvec, FALSE); 67 REQUIRE_VECTOR_FLT (yvec, FALSE); 68 REQUIRE_VECTOR_FLT (zvec, FALSE); 69 70 if (Weight) { 71 REQUIRE_VECTOR_FLT (dzvec, FALSE); 72 if (xvec[0].Nelements != dzvec[0].Nelements) { 73 gprint (GP_ERR, "vectors must have same length\n"); 74 return (FALSE); 75 } 69 76 } 70 77 -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/gaussdeviate.c
r20839 r20859 15 15 sigma = atof (argv[4]); 16 16 17 vec[0].Nelements = Npts; 18 REALLOCATE (vec[0].elements.Flt, opihi_flt, Npts); 17 ResetVector (vec, OPIHI_FLT, Npts); 19 18 20 19 gauss_init (2048); … … 46 45 sigma = atof (argv[4]); 47 46 48 vec[0].Nelements = Npts; 49 REALLOCATE (vec[0].elements.Flt, opihi_flt, Npts); 47 ResetVector (vec, OPIHI_FLT, Npts); 50 48 51 49 gauss_init (Npts); -
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 -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/grid.c
r20857 r20859 23 23 24 24 N = 0; 25 Xvec.Nelements = 200; 26 Yvec.Nelements = 200; 27 ALLOCATE (Xvec.elements.Flt, opihi_flt, Xvec.Nelements); 28 ALLOCATE (Yvec.elements.Flt, opihi_flt, Yvec.Nelements); 25 ResetVector (Xvec, OPIHI_FLT, 200); 26 ResetVector (Yvec, OPIHI_FLT, 200); 29 27 30 28 major = minor = 1; -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/gridify.c
r20839 r20859 29 29 if (vx[0].Nelements != vy[0].Nelements) return (FALSE); 30 30 if (vx[0].Nelements != vz[0].Nelements) return (FALSE); 31 32 REQUIRE_VECTOR_FLT (vx, FALSE); 33 REQUIRE_VECTOR_FLT (vy, FALSE); 34 REQUIRE_VECTOR_FLT (vz, FALSE); 31 35 32 36 Xmin = atof (argv[5]); -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/histogram.c
r20839 r20859 4 4 5 5 int i, bin, Nbins; 6 opihi_int *OUT; 6 7 opihi_flt start, end, delta; 7 opihi_flt *V;8 8 Vector *xvec, *yvec; 9 9 … … 31 31 if ((xvec = SelectVector (argv[1], OLDVECTOR, TRUE)) == NULL) return (FALSE); 32 32 if ((yvec = SelectVector (argv[2], ANYVECTOR, TRUE)) == NULL) return (FALSE); 33 yvec[0].Nelements = Nbins; 34 35 REALLOCATE (yvec[0].elements.Flt, opihi_flt, yvec[0].Nelements); 36 bzero (yvec[0].elements.Flt, sizeof(opihi_flt)*yvec[0].Nelements); 37 if (Nbins < 1) { 38 return (TRUE); 33 34 ResetVector (yvec, OPIHI_INT, Nbins); 35 bzero (yvec[0].elements.Int, sizeof(opihi_int)*yvec[0].Nelements); 36 if (Nbins < 1) return (TRUE); 37 *OUT = yvec[0].elements.Int; 38 39 if (xvec[0].type == OPIHI_FLT) { 40 opihi_flt *V = xvec[0].elements.Flt; 41 for (i = 0; i < xvec[0].Nelements; i++, V++) { 42 if (isnan(*V)) continue; 43 bin = MIN (MAX (0, (*V - start) / delta), Nbins - 1); 44 OUT[bin]++; 45 } 46 } else { 47 opihi_int *V = xvec[0].elements.Int; 48 for (i = 0; i < xvec[0].Nelements; i++, V++) { 49 if (isnan(*V)) continue; 50 bin = MIN (MAX (0, (*V - start) / delta), Nbins - 1); 51 OUT[bin]++; 52 } 39 53 } 40 41 V = xvec[0].elements.Flt;42 for (i = 0; i < xvec[0].Nelements; i++, V++) {43 if (isnan(*V)) continue;44 bin = MIN (MAX (0, (*V - start) / delta), Nbins - 1);45 yvec[0].elements.Flt[bin] += 1.0;46 }47 54 48 55 return (TRUE); -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/imcut.c
r20839 r20859 37 37 dY = dY / L; 38 38 39 REALLOCATE (xvec[0].elements.Flt, opihi_flt, MAX (L, 1)); 40 REALLOCATE (yvec[0].elements.Flt, opihi_flt, MAX (L, 1)); 41 xvec[0].Nelements = L; 42 yvec[0].Nelements = L; 39 ResetVector (xvec, OPIHI_FLT, MAX (L, 1)); 40 ResetVector (yvec, OPIHI_FLT, MAX (L, 1)); 43 41 44 42 V = (float *)buf[0].matrix.buffer; -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/imhist.c
r20839 r20859 105 105 } 106 106 107 vec1[0].Nelements = Nbins + 1; 108 vec2[0].Nelements = Nbins + 1; 109 REALLOCATE (vec1[0].elements.Flt, opihi_flt, vec1[0].Nelements); 107 ResetVector (vec1, OPIHI_FLT, Nbins + 1); 108 ResetVector (vec2, OPIHI_FLT, Nbins + 1); 110 109 bzero (vec1[0].elements.Flt, vec1[0].Nelements*sizeof(opihi_flt)); 111 REALLOCATE (vec2[0].elements.Flt, opihi_flt, vec2[0].Nelements);112 110 bzero (vec2[0].elements.Flt, vec2[0].Nelements*sizeof(opihi_flt)); 113 111 -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/integrate.c
r20839 r20859 3 3 int integrate (int argc, char **argv) { 4 4 5 int i, N, VERBOSE ;5 int i, N, VERBOSE, isFloat; 6 6 opihi_flt *X, *Y; 7 double start, end, value, range ;7 double start, end, value, range, dvalue; 8 8 Vector *vecx, *vecy; 9 9 … … 25 25 end = atof (argv[4]); 26 26 27 X = vecx[0].elements.Flt; 28 Y = vecy[0].elements.Flt; 27 isFloat = vecy[0].type == OPIHI_FLT; 28 Yf = vecy[0].elements.Flt; 29 Yi = vecy[0].elements.Int; 29 30 30 31 value = 0; 31 32 range = 0; 32 for (i = 0; i < vecx[0].Nelements-1; i++, X++, Y++) { 33 if ((*X >= start) && (*X <= end)) { 34 value += *Y * (X[1] - X[0]); 35 range += (X[1] - X[0]); 36 } 37 } 33 34 if (vecx[0].type == OPIHI_FLT) { 35 opihi_flt *X = vecx[0].elements.Flt; 36 for (i = 0; i < vecx[0].Nelements-1; i++, X++, Yi++, Yf++) { 37 if ((*X >= start) && (*X <= end)) { 38 dvalue = (isFloat) ? *Yf : *Yi; 39 value += *Y * (X[1] - X[0]); 40 range += (X[1] - X[0]); 41 } 42 } 43 } else { 44 opihi_int *X = vecx[0].elements.Int; 45 for (i = 0; i < vecx[0].Nelements-1; i++, X++, Yi++, Yf++) { 46 if ((*X >= start) && (*X <= end)) { 47 dvalue = (isFloat) ? *Yf : *Yi; 48 value += *Y * (X[1] - X[0]); 49 range += (X[1] - X[0]); 50 } 51 } 52 } 38 53 39 54 set_variable ("sum", value); -
branches/eam_branch_20081124/Ohana/src/opihi/cmd.data/sort.c
r20857 r20859 31 31 } 32 32 33 // XXX add an option to NOT sort, but return an index instead? 33 34 int sort_vectors (int argc, char **argv) { 34 35 -
branches/eam_branch_20081124/Ohana/src/opihi/dvo/calmextract.c
r20839 r20859 38 38 if (!TestPhotSelections (&code[0], &mode[0], MEAS_ZERO)) goto escape; 39 39 40 gprint (GP_ERR, "warning: this function may be deprecated in the future -- use avextract for better control\n"); 41 40 42 /* returned vectors are dmag, mag, color, time, airmass, ra, dec, x, y, exptime */ 41 N = 0;42 Nstar = 0;43 NSTAR = 100;44 43 ALLOCATE (vec, Vector *, NVEC); 45 44 if ((vec[Nd ] = SelectVector ("cal:dmag", ANYVECTOR, TRUE)) == NULL) goto escape; … … 60 59 if ((vec[Nd1] = SelectVector ("cal:dm1", ANYVECTOR, TRUE)) == NULL) goto escape; 61 60 if ((vec[Nd2] = SelectVector ("cal:dm2", ANYVECTOR, TRUE)) == NULL) goto escape; 61 62 N = 0; 63 Nstar = 0; 64 NSTAR = 100; 62 65 for (k = 0; k < NVEC; k++) { 63 REALLOCATE (vec[k][0].elements.Flt, opihi_flt, NSTAR); 64 vec[k][0].Nelements = 0; 66 ResetVector (vec[k], OPIHI_FLT, NSTAR); 65 67 } 66 68 -
branches/eam_branch_20081124/Ohana/src/opihi/dvo/ccd.c
r20839 r20859 51 51 52 52 /* init vectors to save data */ 53 Npts = 0;54 NPTS = 1;55 53 if ((xvec = SelectVector ("xv", ANYVECTOR, TRUE)) == NULL) goto escape; 56 54 if ((yvec = SelectVector ("yv", ANYVECTOR, TRUE)) == NULL) goto escape; 55 56 gprint (GP_ERR, "warning: this function may be deprecated in the future -- use avextract for better control\n"); 57 58 Npts = 0; 59 NPTS = 100; 60 ResetVector (xvec, OPIHI_FLT, NPTS); 61 ResetVector (yvec, OPIHI_FLT, NPTS); 57 62 58 63 // grab data from all selected sky regions -
branches/eam_branch_20081124/Ohana/src/opihi/dvo/cmd.c
r20839 r20859 49 49 50 50 /* init vectors to save data */ 51 Npts = 0;52 NPTS = 1;53 51 if ((xvec = SelectVector ("xv", ANYVECTOR, TRUE)) == NULL) goto escape; 54 52 if ((yvec = SelectVector ("yv", ANYVECTOR, TRUE)) == NULL) goto escape; 53 54 gprint (GP_ERR, "warning: this function may be deprecated in the future -- use avextract for better control\n"); 55 56 Npts = 0; 57 NPTS = 100; 58 ResetVector (xvec, OPIHI_FLT, NPTS); 59 ResetVector (yvec, OPIHI_FLT, NPTS); 55 60 56 61 // grab data from all selected sky regions -
branches/eam_branch_20081124/Ohana/src/opihi/dvo/cmpread.c
r20839 r20859 89 89 fclose (f); 90 90 91 REALLOCATE (vec[0].elements.Flt, opihi_flt, Nstars); 92 vec[0].Nelements = Nstars; 91 ResetVector (vec, OPIHI_FLT, Nstars); 93 92 bzero (vec[0].elements.Flt, Nstars*sizeof(opihi_flt)); 94 93 -
branches/eam_branch_20081124/Ohana/src/opihi/dvo/compare.c
r20839 r20859 10 10 Nmatch = 0; 11 11 NMATCH = D_NMATCH; 12 R EALLOCATE (rvec[0].elements.Flt, opihi_flt, NMATCH);13 R EALLOCATE (dvec[0].elements.Flt, opihi_flt, NMATCH);14 R EALLOCATE (mvec[0].elements.Flt, opihi_flt, NMATCH);15 R EALLOCATE (drvec[0].elements.Flt, opihi_flt, NMATCH);16 R EALLOCATE (ddvec[0].elements.Flt, opihi_flt, NMATCH);17 R EALLOCATE (dmvec[0].elements.Flt, opihi_flt, NMATCH);12 ResetVector ( rvec, OPIHI_FLT, NMATCH); 13 ResetVector ( dvec, OPIHI_FLT, NMATCH); 14 ResetVector ( mvec, OPIHI_FLT, NMATCH); 15 ResetVector (drvec, OPIHI_FLT, NMATCH); 16 ResetVector (ddvec, OPIHI_FLT, NMATCH); 17 ResetVector (dmvec, OPIHI_FLT, NMATCH); 18 18 19 19 for (i = j = 0; (i < catlog1[0].Naverage) && (j < catlog2[0].Naverage);) { … … 59 59 } 60 60 61 REALLOCATE ( rvec[0].elements.Flt, opihi_flt, Nmatch); 62 REALLOCATE ( dvec[0].elements.Flt, opihi_flt, Nmatch); 63 REALLOCATE ( mvec[0].elements.Flt, opihi_flt, Nmatch); 64 REALLOCATE (drvec[0].elements.Flt, opihi_flt, Nmatch); 65 REALLOCATE (ddvec[0].elements.Flt, opihi_flt, Nmatch); 66 REALLOCATE (dmvec[0].elements.Flt, opihi_flt, Nmatch); 67 68 rvec[0].Nelements = Nmatch; 69 dvec[0].Nelements = Nmatch; 70 mvec[0].Nelements = Nmatch; 71 drvec[0].Nelements = Nmatch; 72 ddvec[0].Nelements = Nmatch; 73 dmvec[0].Nelements = Nmatch; 74 61 ResetVector ( rvec, OPIHI_FLT, Nmatch); 62 ResetVector ( dvec, OPIHI_FLT, Nmatch); 63 ResetVector ( mvec, OPIHI_FLT, Nmatch); 64 ResetVector (drvec, OPIHI_FLT, Nmatch); 65 ResetVector (ddvec, OPIHI_FLT, Nmatch); 66 ResetVector (dmvec, OPIHI_FLT, Nmatch); 75 67 } 76 68 -
branches/eam_branch_20081124/Ohana/src/opihi/dvo/detrend.c
r20839 r20859 151 151 N = 0; 152 152 NVALUE = 1000; 153 R EALLOCATE (vec[0].elements.Flt, opihi_flt, NVALUE);153 ResetVector (vec, OPIHI_FLT, NVALUE); 154 154 value = vec[0].elements.Flt; 155 155 -
branches/eam_branch_20081124/Ohana/src/opihi/dvo/gstar.c
r20839 r20859 136 136 N = 0; 137 137 NPTS = 1000; 138 ALLOCATE (vec1[0].elements.Flt, opihi_flt, NPTS);139 ALLOCATE (vec2[0].elements.Flt, opihi_flt, NPTS);140 ALLOCATE (vec3[0].elements.Flt, opihi_flt, NPTS);141 ALLOCATE (vec4[0].elements.Flt, opihi_flt, NPTS);138 ResetVector (vec1, OPIHI_FLT, NPTS); 139 ResetVector (vec2, OPIHI_FLT, NPTS); 140 ResetVector (vec3, OPIHI_FLT, NPTS); 141 ResetVector (vec4, OPIHI_FLT, NPTS); 142 142 } 143 143 -
branches/eam_branch_20081124/Ohana/src/opihi/dvo/images.c
r20857 r20859 113 113 114 114 npts = NPTS = 200; 115 ALLOCATE (Xvec.elements.Flt, opihi_flt, NPTS); 116 ALLOCATE (Yvec.elements.Flt, opihi_flt, NPTS); 115 ResetVector (Xvec, OPIHI_FLT, NPTS); 116 ResetVector (Yvec, OPIHI_FLT, NPTS); 117 117 118 ALLOCATE (plist, int, NPTS); 118 119 n = N = 0; -
branches/eam_branch_20081124/Ohana/src/opihi/dvo/imbox.c
r20857 r20859 36 36 37 37 /* project this image to screen display coords */ 38 ALLOCATE (Xvec.elements.Flt, opihi_flt, 8);39 ALLOCATE (Yvec.elements.Flt, opihi_flt, 8);38 ResetVector (Xvec, OPIHI_FLT, 8); 39 ResetVector (Yvec, OPIHI_FLT, 8); 40 40 41 41 while (gfits_fread_header (f, &header)) { -
branches/eam_branch_20081124/Ohana/src/opihi/dvo/imdata.c
r20839 r20859 49 49 50 50 gprint (GP_ERR, "function is poorly defined; disabled and may be removed\n"); 51 gprint (GP_ERR, "this function extracts measure data corresponding to a given image?\n"); 51 52 return (FALSE); 52 53 … … 124 125 125 126 /* create output vector */ 127 N = 0; 126 128 NPTS = 1000; 127 REALLOCATE (vec[0].elements.Flt, opihi_flt, NPTS); 128 vec[0].Nelements = N = 0; 129 ResetVector (vec, OPIHI_FLT, NPTS); 129 130 130 131 // prepare to handle interrupt signals -
branches/eam_branch_20081124/Ohana/src/opihi/dvo/imdense.c
r20857 r20859 30 30 srand48(B); 31 31 32 N = 0; 32 33 NPTS = 200; 33 ALLOCATE (Xvec.elements.Flt, opihi_flt, NPTS);34 ALLOCATE (Yvec.elements.Flt, opihi_flt, NPTS);35 N = 0; 34 ResetVector (Xvec, OPIHI_FLT, Npts); 35 ResetVector (Yvec, OPIHI_FLT, Npts); 36 36 37 for (i = 0; i < Nimage; i++) { 37 38 /* choose a position for point within image box */ -
branches/eam_branch_20081124/Ohana/src/opihi/dvo/imextract.c
r20839 r20859 165 165 166 166 /* create storage vector */ 167 REALLOCATE (vec[0].elements.Flt, opihi_flt, Nimage); 168 vec[0].Nelements = Nimage; 167 ResetVector (vec, OPIHI_FLT, Nimage); 169 168 170 169 N = 0; -
branches/eam_branch_20081124/Ohana/src/opihi/dvo/imrough.c
r20839 r20859 18 18 Vector *vec; 19 19 20 // XXX this function is only valid for the Elixir db system, not the IPP db system 21 // this function should exit gracefully if the REGISTRATION_DATABASE is missing 20 22 VarConfig ("REGISTRATION_DATABASE", "%s", DataBase); 21 23 … … 132 134 N = 0; 133 135 NVEC = 1000; 134 R EALLOCATE (vec[0].elements.Flt, opihi_flt, NVEC);136 ResetVector (vec, OPIHI_FLT, NVEC); 135 137 Vec = vec[0].elements.Flt; 136 138 -
branches/eam_branch_20081124/Ohana/src/opihi/dvo/imstats.c
r20857 r20859 33 33 34 34 /* assign vector values */ 35 Xvec.Nelements = Nimage; 36 Yvec.Nelements = Nimage; 37 ALLOCATE (Xvec.elements.Flt, opihi_flt, Xvec.Nelements); 38 ALLOCATE (Yvec.elements.Flt, opihi_flt, Yvec.Nelements); 35 ResetVector (Xvec, OPIHI_FLT, Nimage); 36 ResetVector (Yvec, OPIHI_FLT, Nimage); 37 39 38 gprint (GP_LOG, "seq ra (J2000) dec time (s) Nstars\n"); 40 39 for (i = 0; i < Nimage; i++) { -
branches/eam_branch_20081124/Ohana/src/opihi/dvo/lcurve.c
r20857 r20859 102 102 catalog.average[N1[i]].R = RA[i] */ 103 103 104 N = 0; 104 105 NPTS = 100; 105 ALLOCATE (Xvec.elements.Flt, opihi_flt, NPTS);106 ALLOCATE (Yvec.elements.Flt, opihi_flt, NPTS);106 ResetVector (Xvec, OPIHI_FLT, NPTS); 107 ResetVector (Yvec, OPIHI_FLT, NPTS); 107 108 dYvec.elements.Flt = NULL; 108 if (ErrorBars) { ALLOCATE (dYvec.elements.Flt, opihi_flt, NPTS); } 109 N = 0; 109 if (ErrorBars) { 110 ResetVector (Yvec, OPIHI_FLT, NPTS); 111 } 110 112 111 113 GetTimeFormat (&TimeReference, &TimeFormat); -
branches/eam_branch_20081124/Ohana/src/opihi/dvo/lightcurve.c
r20839 r20859 87 87 N = 0; 88 88 NPTS = 100; 89 R EALLOCATE (tvec[0].elements.Flt, opihi_flt, NPTS);90 R EALLOCATE (mvec[0].elements.Flt, opihi_flt, NPTS);91 R EALLOCATE (dmvec[0].elements.Flt, opihi_flt, NPTS);89 ResetVector (tvec, OPIHI_FLT, Npts); 90 ResetVector (mvec, OPIHI_FLT, Npts); 91 ResetVector (dmvec, OPIHI_FLT, Npts); 92 92 93 93 GetTimeFormat (&TimeReference, &TimeFormat); -
branches/eam_branch_20081124/Ohana/src/opihi/dvo/procks.c
r20857 r20859 95 95 96 96 /* data has been loaded, get ready to plot it */ 97 Yvec.Nelements = Xvec.Nelements = 3*Nrocks; 98 ALLOCATE (Xvec.elements.Flt, opihi_flt, Xvec.Nelements); 99 ALLOCATE (Yvec.elements.Flt, opihi_flt, Yvec.Nelements); 97 ResetVector (Xvec, OPIHI_FLT, 3*Nrocks); 98 ResetVector (Yvec, OPIHI_FLT, 3*Nrocks); 100 99 101 100 /* project stars to screen display coords */ -
branches/eam_branch_20081124/Ohana/src/opihi/dvo/showtile.c
r20857 r20859 22 22 N = 0; 23 23 NPTS = 200; 24 ALLOCATE (Xvec.elements.Flt, opihi_flt, NPTS);25 ALLOCATE (Yvec.elements.Flt, opihi_flt, NPTS);24 ResetVector (Xvec, OPIHI_FLT, NPTS); 25 ResetVector (Yvec, OPIHI_FLT, NPTS); 26 26 27 27 /* starting position */ -
branches/eam_branch_20081124/Ohana/src/opihi/dvo/simage.c
r20857 r20859 92 92 93 93 /* set up storage buffers */ 94 Xvec.Nelements = Nstars; 95 Yvec.Nelements = Nstars; 96 Zvec.Nelements = Nstars; 97 ALLOCATE (Xvec.elements.Flt, opihi_flt, Xvec.Nelements); 98 ALLOCATE (Yvec.elements.Flt, opihi_flt, Yvec.Nelements); 99 ALLOCATE (Zvec.elements.Flt, opihi_flt, Zvec.Nelements); 94 ResetVector (Xvec, OPIHI_FLT, Ntars); 95 ResetVector (Yvec, OPIHI_FLT, Ntars); 96 ResetVector (Zvec, OPIHI_FLT, Ntars); 100 97 ALLOCATE (buffer, char, (BLOCK*BYTES_STAR)); 101 98 -
branches/eam_branch_20081124/Ohana/src/opihi/dvo/skycat.c
r20857 r20859 53 53 Rmid = 0.5*(Rmin + Rmax); 54 54 55 Npts = 0; 55 56 NPTS = 200; 56 ALLOCATE (Xvec.elements.Flt, opihi_flt, NPTS); 57 ALLOCATE (Yvec.elements.Flt, opihi_flt, NPTS); 58 Npts = 0; 57 ResetVector (&Xvec, OPIHI_FLT, NPTS); 58 ResetVector (&Yvec, OPIHI_FLT, NPTS); 59 59 60 60 regions = skylist[0].regions; -
branches/eam_branch_20081124/Ohana/src/opihi/lib.data/graphtools.c
r20856 r20859 2 2 3 3 // XXX need to select the active vector for the range analysis 4 // this function accepts either FLT or INT vectors 4 5 void SetLimits (Vector *xvec, Vector *yvec, Graphdata *graphmode) { 5 6 -
branches/eam_branch_20081124/Ohana/src/opihi/lib.shell/VectorOps.c
r20856 r20859 187 187 } 188 188 189 // recast the vector to the specified type 190 int CastVector (Vector *vec, char type) { 191 192 // the trivial case 193 if (vec[0].type == type) return TRUE; 194 195 if (type == OPIHI_FLT) { 196 opihi_flt *temp; 197 ALLOCATE (temp, opihi_flt, vec[0].Nelements); 198 opihi_flt *vo = temp; 199 opihi_int *vi = vec[0].elements.Int; 200 for (i = 0; i < vec[0].Nelements; i++, vo++, vi++) { 201 *vo = *vi; 202 } 203 free (vec[0].elements.Int); 204 vec[0].elements.Flt = vo; 205 vec[0].type = OPIHI_FLT; 206 } else { 207 opihi_int *temp; 208 ALLOCATE (temp, opihi_int, vec[0].Nelements); 209 opihi_int *vo = temp; 210 opihi_flt *vi = vec[0].elements.Flt; 211 for (i = 0; i < vec[0].Nelements; i++, vo++, vi++) { 212 *vo = *vi; 213 } 214 free (vec[0].elements.Flt); 215 vec[0].elements.Int = vo; 216 vec[0].type = OPIHI_INT; 217 } 218 return TRUE; 219 } 220 189 221 /* move data from in to out - use old memory space */ 190 222 int MoveNamedVector (char *out, char *in) { -
branches/eam_branch_20081124/Ohana/src/opihi/mana/fitcontour.c
r20856 r20859 19 19 20 20 // require these to be float vectors 21 if (vecx->type != OPIHI_FLT) return (FALSE);22 if (vecy->type != OPIHI_FLT) return (FALSE);21 REQUIRE_VECTOR_FLT (vecx, FALSE); 22 REQUIRE_VECTOR_FLT (vecy, FALSE); 23 23 24 24 ALLOCATE (B, double *, NTERM); -
branches/eam_branch_20081124/Ohana/src/opihi/mana/rawstars.c
r20856 r20859 66 66 v = (float *) buff[0].matrix.buffer; 67 67 for (i = 0; i < Np; i++) { 68 x = xp[0].elements.Flt[i];69 y = yp[0].elements.Flt[i];68 x = (xp[0].type == OPIHI_FLT) ? xp[0].elements.Flt[i] : xp[0].elements.Int[i]; 69 y = (yp[0].type == OPIHI_FLT) ? yp[0].elements.Flt[i] : yp[0].elements.Int[i]; 70 70 if (x < 0) continue; 71 71 if (x >= Nx) continue;
Note:
See TracChangeset
for help on using the changeset viewer.
