IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 5087 for trunk/psLib/src


Ignore:
Timestamp:
Sep 21, 2005, 11:37:21 AM (21 years ago)
Author:
drobbin
Message:

Updated/added psTimer fxns and psVectorCreate (and tests)

Location:
trunk/psLib/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/astro/psTime.h

    r5083 r5087  
    1111 *  @author Ross Harman, MHPCC
    1212 *
    13  *  @version $Revision: 1.40 $ $Name: not supported by cvs2svn $
    14  *  @date $Date: 2005-09-21 02:11:16 $
     13 *  @version $Revision: 1.41 $ $Name: not supported by cvs2svn $
     14 *  @date $Date: 2005-09-21 21:37:20 $
    1515 *
    1616 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    375375char* p_psGetConfigFileName();
    376376
     377/**
     378 *
     379 *
     380 *
     381 */
    377382psF64 p_psTimeSearchTables(
    378     psF64 index,
    379     psU64 column,
    380     char *metadataTableNames[],
    381     psU32 nTables,
    382     psLookupStatusType* status
    383 );
    384 
     383    psF64 index,                       ///<
     384    psU64 column,                      ///<
     385    char *metadataTableNames[],        ///<
     386    psU32 nTables,                     ///<
     387    psLookupStatusType* status         ///<
     388);
     389
     390/** Stores the current time in a psHash of timers, under the supplied name.
     391 *
     392 *  @return bool:       True if successful, otherwise false.
     393 */
    385394bool psTimerStart(
    386     char *name
    387 );
    388 
     395    char *name                         ///< timer name to start
     396);
     397
     398/** Resets the named timer.
     399 *
     400 *  @return psF64:      The time elapsed since start.
     401 */
    389402psF64 psTimerClear(
    390     char *name
    391 );
    392 
     403    char *name                         ///< timer name to clear
     404);
     405
     406/** Returns the elapsed time, in seconds, for the timer specified by name.
     407 *
     408 *  @return psF64:      The elapsed time in seconds since timer start.
     409 */
    393410psF64 psTimerMark(
    394     char *name
    395 );
    396 
     411    char *name                        ///< timer name to mark
     412);
     413
     414/** Frees all memory associated with all timers and returns the expended time.
     415 *
     416 *  @return psF64:      The maximum time expended.
     417 */
    397418psF64 psTimerStop(void);
    398419
  • trunk/psLib/src/mathtypes/psVector.c

    r5064 r5087  
    99*  @author Robert DeSonia, MHPCC
    1010*
    11 *  @version $Revision: 1.52 $ $Name: not supported by cvs2svn $
    12 *  @date $Date: 2005-09-16 23:56:51 $
     11*  @version $Revision: 1.53 $ $Name: not supported by cvs2svn $
     12*  @date $Date: 2005-09-21 21:37:21 $
    1313*
    1414*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    745745}
    746746
    747 
     747#define FUNC_MACRO_VECTOR_CREATE(TYPE) \
     748static psVector *vectorCreate##TYPE(double lower, double upper, double delta) \
     749{ \
     750    \
     751    int nBin = (upper - lower) / delta; \
     752    psVector *vec = psVectorAlloc(nBin, PS_TYPE_##TYPE); \
     753    for (int i = 0; i < nBin; i++) \
     754    { \
     755        vec->data.TYPE[i] = lower + (i * delta); \
     756    } \
     757    return vec; \
     758} \
     759
     760FUNC_MACRO_VECTOR_CREATE(S8)
     761FUNC_MACRO_VECTOR_CREATE(S16)
     762FUNC_MACRO_VECTOR_CREATE(S32)
     763FUNC_MACRO_VECTOR_CREATE(S64)
     764FUNC_MACRO_VECTOR_CREATE(U8)
     765FUNC_MACRO_VECTOR_CREATE(U16)
     766FUNC_MACRO_VECTOR_CREATE(U32)
     767FUNC_MACRO_VECTOR_CREATE(U64)
     768FUNC_MACRO_VECTOR_CREATE(F32)
     769FUNC_MACRO_VECTOR_CREATE(F64)
     770
     771psVector *psVectorCreate (double lower,
     772                          double upper,
     773                          double delta,
     774                          psElemType type)
     775{
     776    psVector *out;
     777    switch (type) {
     778    case PS_TYPE_S8:
     779        out = vectorCreateS8( lower,  upper, delta);
     780        break;
     781    case PS_TYPE_S16:
     782        out = vectorCreateS16(lower, upper, delta);
     783        break;
     784    case PS_TYPE_S32:
     785        out = vectorCreateS32(lower, upper, delta);
     786        break;
     787    case PS_TYPE_S64:
     788        out = vectorCreateS64(lower, upper, delta);
     789        break;
     790    case PS_TYPE_U8:
     791        out = vectorCreateU8(lower, upper, delta);
     792        break;
     793    case PS_TYPE_U16:
     794        out = vectorCreateU16(lower, upper, delta);
     795        break;
     796    case PS_TYPE_U32:
     797        out = vectorCreateU32(lower, upper, delta);
     798        break;
     799    case PS_TYPE_U64:
     800        out = vectorCreateU64(lower, upper, delta);
     801        break;
     802    case PS_TYPE_F32:
     803        out = vectorCreateF32(lower, upper, delta);
     804        break;
     805    case PS_TYPE_F64:
     806        out = vectorCreateF64(lower, upper, delta);
     807        break;
     808    default:
     809        psError(PS_ERR_BAD_PARAMETER_TYPE, true, "Invalid psType for Vector Create\n");
     810    }
     811    /*
     812      for (int i = 0; i < nBin; i++) {
     813        out->data.F64[i] = lower + i * delta;
     814      }
     815    */
     816    return (out);
     817}
     818
  • trunk/psLib/src/mathtypes/psVector.h

    r5064 r5087  
    1111 *  @author Ross Harman, MHPCC
    1212 *
    13  *  @version $Revision: 1.45 $ $Name: not supported by cvs2svn $
    14  *  @date $Date: 2005-09-16 23:56:51 $
     13 *  @version $Revision: 1.46 $ $Name: not supported by cvs2svn $
     14 *  @date $Date: 2005-09-21 21:37:21 $
    1515 *
    1616 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    208208);
    209209
     210/** Creates a new vector, or reallocates the provided vector if input is not NULL.
     211 *
     212 *  The created vector consists of the data range starting at lower, running to upper,
     213 *  in steps of delta.  The upper-end value is exclusive; the sequence is equivalent to
     214 *  for (x = lower; x <= upper - 1; x += delta).
     215 *
     216 *  @return psVector*:       the newly created psVector
     217 */
     218psVector *psVectorCreate (
     219    double lower,                      ///< lower bound
     220    double upper,                      ///< upper bound
     221    double delta,                      ///< size of increment
     222    psElemType type                    ///< type of vector to create
     223);
     224
    210225/// @}
    211226
Note: See TracChangeset for help on using the changeset viewer.