Changeset 5087 for trunk/psLib/src/mathtypes
- Timestamp:
- Sep 21, 2005, 11:37:21 AM (21 years ago)
- Location:
- trunk/psLib/src/mathtypes
- Files:
-
- 2 edited
-
psVector.c (modified) (2 diffs)
-
psVector.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/mathtypes/psVector.c
r5064 r5087 9 9 * @author Robert DeSonia, MHPCC 10 10 * 11 * @version $Revision: 1.5 2$ $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 $ 13 13 * 14 14 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 745 745 } 746 746 747 747 #define FUNC_MACRO_VECTOR_CREATE(TYPE) \ 748 static 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 760 FUNC_MACRO_VECTOR_CREATE(S8) 761 FUNC_MACRO_VECTOR_CREATE(S16) 762 FUNC_MACRO_VECTOR_CREATE(S32) 763 FUNC_MACRO_VECTOR_CREATE(S64) 764 FUNC_MACRO_VECTOR_CREATE(U8) 765 FUNC_MACRO_VECTOR_CREATE(U16) 766 FUNC_MACRO_VECTOR_CREATE(U32) 767 FUNC_MACRO_VECTOR_CREATE(U64) 768 FUNC_MACRO_VECTOR_CREATE(F32) 769 FUNC_MACRO_VECTOR_CREATE(F64) 770 771 psVector *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 11 11 * @author Ross Harman, MHPCC 12 12 * 13 * @version $Revision: 1.4 5$ $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 $ 15 15 * 16 16 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 208 208 ); 209 209 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 */ 218 psVector *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 210 225 /// @} 211 226
Note:
See TracChangeset
for help on using the changeset viewer.
