IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 7, 2008, 3:31:01 PM (18 years ago)
Author:
eugene
Message:

big update from eam_branch_20081124 with updates to Opihi math

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/opihi/cmd.data/medacc.c

    r7917 r20936  
    55  int i, j, Nbins, Nvalues, N, N0, N1;
    66  double start, end, delta, k0, k1, fn;
    7   float *V, *K, *V1, *K1, *O, *tmpvec, *tmpkey;
     7  opihi_flt *V, *K, *V1, *K1, *O, *tmpvec, *tmpkey;
    88  Vector *val, *key, *out;
    99
     
    2121  if ((out = SelectVector (argv[2], ANYVECTOR, TRUE)) == NULL) return (FALSE);
    2222
     23  REQUIRE_VECTOR_FLT (val, FALSE);
     24  REQUIRE_VECTOR_FLT (key, FALSE);
     25
    2326  start = atof (argv[4]);
    2427  end   = atof (argv[5]);
     
    3437  Nbins = 1 + (int)((end - start) / delta);
    3538
    36   out[0].Nelements = Nbins;
    37   REALLOCATE (out[0].elements, float, out[0].Nelements);
    38   bzero (out[0].elements, sizeof(float)*out[0].Nelements);
     39  ResetVector (out, OPIHI_FLT, Nbins);
     40  bzero (out[0].elements.Flt, sizeof(opihi_flt)*out[0].Nelements);
    3941
    4042  /* copy vec and key to temp vectors */
    41   ALLOCATE (tmpvec, float, val[0].Nelements);
    42   ALLOCATE (tmpkey, float, val[0].Nelements);
     43  ALLOCATE (tmpvec, opihi_flt, val[0].Nelements);
     44  ALLOCATE (tmpkey, opihi_flt, val[0].Nelements);
    4345
    44   V = val[0].elements;
    45   K = key[0].elements;
     46  V = val[0].elements.Flt;
     47  K = key[0].elements.Flt;
    4648  V1 = tmpvec;
    4749  K1 = tmpkey;
     
    5355
    5456  /* sort vec and key by key */
    55   fsortpair (tmpkey, tmpvec, Nvalues);
     57  dsortpair (tmpkey, tmpvec, Nvalues);
    5658
    57   O = out[0].elements;
     59  O = out[0].elements.Flt;
    5860  /* find the start and end key for each range */
    5961  N0 = 0;
     
    6769    N1 = j;
    6870    N = N1 - N0;
    69     fsort (&tmpvec[N0], N);
     71    dsort (&tmpvec[N0], N);
    7072    fn = O[i] = 0;
    7173    for (j = N0 + 0.25*N; j < N0 + 0.75*N; j++) {
Note: See TracChangeset for help on using the changeset viewer.