IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 7, 2008, 3:31:01 PM (17 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/create.c

    r12332 r20936  
    33int create (int argc, char **argv) {
    44 
    5   int i;
     5  int i, N, INT;
    66  float start, end, delta;
    77  Vector *vec;
    88 
     9  INT = FALSE;
     10  if ((N = get_argument (argc, argv, "-int"))) {
     11    INT = TRUE;
     12    remove_argument (N, &argc, argv);
     13  }
     14
    915  if ((argc != 5) && (argc != 4)) {
    1016    gprint (GP_ERR, "USAGE: create vector start end [delta]\n");
     
    2733  }
    2834
     35  if (INT && (delta != (int)delta)) {
     36    gprint (GP_ERR, "integer vector requested but fractional step-size specified\n");
     37    return (FALSE);
     38  }
     39
    2940  vec[0].Nelements = (end - start) / delta;
    30   REALLOCATE (vec[0].elements, float, vec[0].Nelements);
    3141
    32   for (i = 0; i < vec[0].Nelements; i++) {
    33     vec[0].elements[i] = start + i*delta;
     42  if (INT) {
     43    vec[0].type = OPIHI_INT;
     44    REALLOCATE (vec[0].elements.Int, opihi_int, vec[0].Nelements);
     45    for (i = 0; i < vec[0].Nelements; i++) {
     46      vec[0].elements.Int[i] = start + i*delta;
     47    }
     48  } else {
     49    vec[0].type = OPIHI_FLT;
     50    REALLOCATE (vec[0].elements.Flt, opihi_flt, vec[0].Nelements);
     51    for (i = 0; i < vec[0].Nelements; i++) {
     52      vec[0].elements.Flt[i] = start + i*delta;
     53    }
    3454  }
    3555
Note: See TracChangeset for help on using the changeset viewer.