Changeset 2681
- Timestamp:
- Dec 9, 2004, 4:50:16 PM (22 years ago)
- Location:
- trunk/psLib
- Files:
-
- 38 edited
-
psLib.kdevelop.pcs (modified) ( previous)
-
psLib.kdevses (modified) (1 diff)
-
src/Makefile (modified) (2 diffs)
-
src/Makefile.Globals (modified) (2 diffs)
-
src/astronomy/psMetadata.c (modified) (4 diffs)
-
src/astronomy/psMetadataIO.c (modified) (9 diffs)
-
src/collections/psCollectionsErrors.dat (modified) (1 diff)
-
src/collections/psCollectionsErrors.h (modified) (2 diffs)
-
src/collections/psList.c (modified) (9 diffs)
-
src/collections/psList.h (modified) (6 diffs)
-
src/collections/psMetadata.c (modified) (4 diffs)
-
src/collections/psMetadataIO.c (modified) (9 diffs)
-
src/dataIO/psFileUtilsErrors.dat (modified) (1 diff)
-
src/dataIO/psFileUtilsErrors.h (modified) (2 diffs)
-
src/dataIO/psFits.c (modified) (11 diffs)
-
src/dataIO/psFits.h (modified) (6 diffs)
-
src/fileUtils/psFileUtilsErrors.dat (modified) (1 diff)
-
src/fileUtils/psFileUtilsErrors.h (modified) (2 diffs)
-
src/fileUtils/psFits.c (modified) (11 diffs)
-
src/fileUtils/psFits.h (modified) (6 diffs)
-
src/fits/psFits.c (modified) (11 diffs)
-
src/fits/psFits.h (modified) (6 diffs)
-
src/sys/psErrorCodes.c (modified) (3 diffs)
-
src/sysUtils/psErrorCodes.c (modified) (3 diffs)
-
src/types/psList.c (modified) (9 diffs)
-
src/types/psList.h (modified) (6 diffs)
-
src/types/psMetadata.c (modified) (4 diffs)
-
src/types/psMetadataConfig.c (modified) (9 diffs)
-
src/xml/psXML.c (modified) (9 diffs)
-
tags (modified) (96 diffs)
-
test/astronomy/Makefile (modified) (2 diffs)
-
test/astronomy/tst_psMetadataIO.c (modified) (2 diffs)
-
test/astronomy/tst_psMetadata_01.c (modified) (2 diffs)
-
test/astronomy/tst_psTime_01.c (modified) (10 diffs)
-
test/astronomy/tst_psTime_03.c (modified) (2 diffs)
-
test/collections/tst_psList.c (modified) (25 diffs)
-
test/collections/tst_psMetadataIO.c (modified) (2 diffs)
-
test/collections/tst_psMetadata_01.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/psLib.kdevses
r2375 r2681 2 2 <!DOCTYPE KDevPrjSession> 3 3 <KDevPrjSession> 4 <DocsAndViews NumberOfDocuments=" 8" >5 <Doc0 NumberOfViews="1" URL="file:/home/desonia/psLib/src/ image/psImageConvolve.c" >6 <View0 Type="Source" />4 <DocsAndViews NumberOfDocuments="6" > 5 <Doc0 NumberOfViews="1" URL="file:/home/desonia/psLib/src/Makefile" > 6 <View0 line="225" Type="Source" /> 7 7 </Doc0> 8 8 <Doc1 NumberOfViews="1" URL="file:/home/desonia/psLib/src/fileUtils/psFits.c" > 9 <View0 Type="Source" />9 <View0 line="585" Type="Source" /> 10 10 </Doc1> 11 11 <Doc2 NumberOfViews="1" URL="file:/home/desonia/psLib/src/fileUtils/psFits.h" > 12 <View0 Type="Source" />12 <View0 line="144" Type="Source" /> 13 13 </Doc2> 14 <Doc3 NumberOfViews="1" URL="file:/home/desonia/psLib/src/ image/psImageIO.c" >15 <View0 Type="Source" />14 <Doc3 NumberOfViews="1" URL="file:/home/desonia/psLib/src/fileUtils/psFileUtilsErrors.dat" > 15 <View0 line="35" Type="Source" /> 16 16 </Doc3> 17 <Doc4 NumberOfViews="1" URL="file:/home/desonia/psLib/src/ image/psImageIO.h" >18 <View0 Type="Source" />17 <Doc4 NumberOfViews="1" URL="file:/home/desonia/psLib/src/collections/psList.h" > 18 <View0 line="166" Type="Source" /> 19 19 </Doc4> 20 <Doc5 NumberOfViews="1" URL="file:/home/desonia/psLib/src/ fileUtils/psFileUtilsErrors.dat" >21 <View0 Type="Source" />20 <Doc5 NumberOfViews="1" URL="file:/home/desonia/psLib/src/collections/psList.c" > 21 <View0 line="46" Type="Source" /> 22 22 </Doc5> 23 <Doc6 NumberOfViews="1" URL="file:/home/desonia/psLib/src/image/psImageErrors.dat" >24 <View0 Type="Source" />25 </Doc6>26 <Doc7 NumberOfViews="1" URL="file:/home/desonia/psLib/src/psErrorCodes.dat" >27 <View0 line="9" Type="Source" />28 </Doc7>29 23 </DocsAndViews> 30 24 <pluginList> -
trunk/psLib/src/Makefile
r2307 r2681 3 3 ## Makefile: psLib 4 4 ## 5 ## $Revision: 1.1 8$ $Name: not supported by cvs2svn $6 ## $Date: 2004-1 1-09 00:58:23$5 ## $Revision: 1.19 $ $Name: not supported by cvs2svn $ 6 ## $Date: 2004-12-10 02:50:14 $ 7 7 ## 8 8 ## Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 224 224 $(DOCS) 225 225 226 tags: 227 cd $(IPPROOT) ; etags `find . \( -name \*.[chy] -o -name \*.cpp\) -print`226 tags: 227 etags `find . \( -name \*.[chy] \) -print` 228 228 229 229 # List of PHONY targets with make file -
trunk/psLib/src/Makefile.Globals
r2667 r2681 5 5 ## Assumptions: Variable "prefix" already defined 6 6 ## 7 ## $Revision: 1.3 0$ $Name: not supported by cvs2svn $8 ## $Date: 2004-12- 08 19:21:24 $7 ## $Revision: 1.31 $ $Name: not supported by cvs2svn $ 8 ## $Date: 2004-12-10 02:50:14 $ 9 9 ## 10 10 ## Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 55 55 XML2_LINK := $(shell $(xml2config) --libs) 56 56 XML2_CFLAGS := $(shell $(xml2config) --cflags) 57 #XML2_CFLAGS = -I/usr/local/include/libxml258 59 57 60 58 # Set initial value for CFLAGS which will include all OS common flags for GCC -
trunk/psLib/src/astronomy/psMetadata.c
r2659 r2681 12 12 * @author Ross Harman, MHPCC 13 13 * 14 * @version $Revision: 1.4 2$ $Name: not supported by cvs2svn $15 * @date $Date: 2004-12- 07 23:27:25$14 * @version $Revision: 1.43 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2004-12-10 02:50:14 $ 16 16 * 17 17 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 352 352 { 353 353 psList* mdList = NULL; 354 psList* entryList = NULL;355 354 psHash* mdTable = NULL; 356 355 psMetadataItem* entry = NULL; 357 psMetadataItem* entryChild = NULL;358 356 359 357 … … 375 373 } 376 374 377 if (entry->type == PS_META_LIST) {378 379 // Table entry has children. Entry and children must be removed from metadata collection's list380 psListSetIterator(entryList, PS_LIST_HEAD);381 entryChild = psListGetCurrent(entryList);382 while(entryChild != NULL) {383 if (!psListRemove(mdList, PS_LIST_UNKNOWN, entryChild)) {384 psError(PS_ERR_UNKNOWN, false, PS_ERRORTEXT_psMetadata_REMOVE_LIST_FAILED, key);385 return false;386 }387 entryChild = psListGetNext(entryList);388 }389 } else {390 391 // Table entry has no children. Remove entry from metadata collection's list392 if (!psListRemove(mdList, PS_LIST_UNKNOWN, entry)) {393 psError(PS_ERR_UNKNOWN, false, PS_ERRORTEXT_psMetadata_REMOVE_LIST_FAILED, key);394 return false;395 }396 }397 // Remove entry from metadata collection's table398 if (!psHashRemove(mdTable, key)) {399 psError(PS_ERR_UNKNOWN, false, PS_ERRORTEXT_psMetadata_REMOVE_TABLE_FAILED, key);400 return false;401 }402 375 } else { 403 376 … … 414 387 return false; 415 388 } 416 // Use recursive remove, now that key is known 417 psMetadataRemove(md, PS_LIST_UNKNOWN, key); 389 } 390 391 if (!psListRemoveData(mdList, entry)) { 392 psError(PS_ERR_UNKNOWN, false, PS_ERRORTEXT_psMetadata_REMOVE_LIST_FAILED, key); 393 return false; 394 } 395 396 // Remove entry from metadata collection's table 397 if (!psHashRemove(mdTable, key)) { 398 psError(PS_ERR_UNKNOWN, false, PS_ERRORTEXT_psMetadata_REMOVE_TABLE_FAILED, key); 399 return false; 418 400 } 419 401 -
trunk/psLib/src/astronomy/psMetadataIO.c
r2637 r2681 9 9 * @author Ross Harman, MHPCC 10 10 * 11 * @version $Revision: 1.1 5$ $Name: not supported by cvs2svn $12 * @date $Date: 2004-12- 06 19:59:57$11 * @version $Revision: 1.16 $ $Name: not supported by cvs2svn $ 12 * @date $Date: 2004-12-10 02:50:14 $ 13 13 * 14 14 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 19 19 #include <string.h> 20 20 #include <ctype.h> 21 #include <limits.h> 21 22 22 23 #include "psAbort.h" … … 598 599 if(metadataItem->type!=PS_META_LIST) { 599 600 if(overwrite) { 600 psMetadataRemove(md, PS_LIST_UNKNOWN, strName);601 psMetadataRemove(md, INT_MIN, strName); 601 602 } else { 602 603 (*nFail)++; … … 790 791 PS_PTR_CHECK_NULL_GENERAL(metadataItem, return); 791 792 PS_PTR_CHECK_NULL_GENERAL(metadataItem->data.list, return); 792 psListSetIterator(metadataItem->data.list, PS_LIST_TAIL); 793 metadataItem = (psMetadataItem*)psListGetCurrent(metadataItem->data.list); 793 metadataItem = (psMetadataItem*)psListGet(metadataItem->data.list,PS_LIST_TAIL); 794 794 htAtts = (psHash*)metadataItem->data.list; 795 795 PS_PTR_CHECK_NULL_GENERAL(htAtts, return); … … 848 848 if(metadataItem->type != PS_META_LIST) { 849 849 if(overwrite) { 850 psMetadataRemove(md, PS_LIST_UNKNOWN, strName);850 psMetadataRemove(md, INT_MIN, strName); 851 851 } else { 852 852 psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_OVERWRITE_ITEM, strName, lineNumber, … … 943 943 PS_PTR_CHECK_NULL_GENERAL(tables, return); 944 944 PS_PTR_CHECK_NULL_GENERAL(tables->data.list, return); 945 psListSetIterator(tables->data.list, PS_LIST_TAIL); 946 table = (psMetadataItem*)psListGetCurrent(tables->data.list); 945 table = (psMetadataItem*)psListGet(tables->data.list,PS_LIST_TAIL); 947 946 htAtts = (psHash*)table->data.list; 948 947 PS_PTR_CHECK_NULL_GENERAL(htAtts, return); … … 1002 1001 if(metadataItem->type != PS_META_LIST) { 1003 1002 if(overwrite) { 1004 psMetadataRemove(md, PS_LIST_UNKNOWN, strName);1003 psMetadataRemove(md, INT_MIN, strName); 1005 1004 } else { 1006 1005 psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_OVERWRITE_ITEM, strName, lineNumber, … … 1045 1044 PS_PTR_CHECK_NULL_GENERAL(tables, return); 1046 1045 PS_PTR_CHECK_NULL_GENERAL(tables->data.list, return); 1047 psListSetIterator(tables->data.list, PS_LIST_TAIL); 1048 table = (psMetadataItem*)psListGetCurrent(tables->data.list); 1046 table = (psMetadataItem*)psListGet(tables->data.list,PS_LIST_TAIL); 1049 1047 htAtts = (psHash*)table->data.list; 1050 1048 PS_PTR_CHECK_NULL_GENERAL(htAtts, return); … … 1070 1068 1071 1069 // Free temporary metadata item and its hash table 1072 psListRemove(tables->data.list, PS_LIST_TAIL , table);1070 psListRemove(tables->data.list, PS_LIST_TAIL); 1073 1071 1074 1072 psFree(psEndTagName); -
trunk/psLib/src/collections/psCollectionsErrors.dat
r2357 r2681 32 32 psHash_TABLE_NULL Input psHash can not be NULL. 33 33 psHash_DATA_NULL Input data can not be NULL. 34 # 35 psList_LOCATION_INVALID Specified location, %d, is invalid. 36 psList_ITERATOR_INVALID Specified iterator is not valid. 37 psList_ITERATOR_NULL Specified iterator is NULL. 38 psList_LIST_NULL Specified psList reference is NULL. 39 psList_DATA_NULL Specified data item is NULL. 40 psList_DATA_NOT_FOUND Specified data item is not found in the psList. 34 41 -
trunk/psLib/src/collections/psCollectionsErrors.h
r2357 r2681 7 7 * @author Robert DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1. 6$ $Name: not supported by cvs2svn $10 * @date $Date: 2004-1 1-13 00:52:49$9 * @version $Revision: 1.7 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2004-12-10 02:50:14 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 50 50 #define PS_ERRORTEXT_psHash_TABLE_NULL "Input psHash can not be NULL." 51 51 #define PS_ERRORTEXT_psHash_DATA_NULL "Input data can not be NULL." 52 #define PS_ERRORTEXT_psList_LOCATION_INVALID "Specified location, %d, is invalid." 53 #define PS_ERRORTEXT_psList_ITERATOR_INVALID "Specified iterator is not valid." 54 #define PS_ERRORTEXT_psList_ITERATOR_NULL "Specified iterator is NULL." 55 #define PS_ERRORTEXT_psList_LIST_NULL "Specified psList reference is NULL. " 56 #define PS_ERRORTEXT_psList_DATA_NULL "Specified data item is NULL." 57 #define PS_ERRORTEXT_psList_DATA_NOT_FOUND "Specified data item is not found in the psList." 52 58 //~End 53 59 -
trunk/psLib/src/collections/psList.c
r2375 r2681 6 6 * @author Robert Daniel DeSonia, MHPCC 7 7 * 8 * @version $Revision: 1.2 2$ $Name: not supported by cvs2svn $9 * @date $Date: 2004-1 1-16 20:00:20$8 * @version $Revision: 1.23 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2004-12-10 02:50:14 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 29 29 30 30 // private functions. 31 static psListElem* listGetIterator(psList* list);32 static psS32 listGetIteratorIndex(psList* list);33 static void listSetIterator(psList* list, psS32 where, psBool lockList);34 31 static void listFree(psList* list); 35 36 psList* psListAlloc(psPtr data) 37 { 38 psList* list = psAlloc(sizeof(psList)); 39 40 p_psMemSetDeallocator(list, (psFreeFcn) listFree); 41 42 list->size = 0; 43 list->head = list->tail = NULL; 44 list->p_iter = ITER_INIT_HEAD; 45 list->p_iterIndex = PS_LIST_HEAD; 46 47 pthread_mutex_init(&(list->lock), NULL) 48 ; 49 50 if (data != NULL) { 51 psListAdd(list, PS_LIST_TAIL, data); 52 } 53 54 return list; 55 } 32 static void listIteratorFree(psListIterator* iter); 33 static psBool listIteratorRemove(psListIterator* iterator); 56 34 57 35 static void listFree(psList* list) … … 64 42 ; 65 43 44 psFree(list->iterators); 45 66 46 for (psListElem* ptr = list->head; ptr != NULL;) { 67 47 psListElem* next = ptr->next; … … 81 61 } 82 62 83 psBool psListAdd(psList* list, psS32 location, psPtr data) 84 { 85 psListElem* position; 86 psListElem* elem; 87 psS32 cursorIndex = 0; 88 89 if (list == NULL) { 90 return false; 91 } 92 93 if (data == NULL) { 94 return false; 95 } 96 97 if (location <= PS_LIST_UNKNOWN) { 98 // / XXX What is the better way to communicate this failure to the caller? 99 psLogMsg(__func__, PS_LOG_WARN, "The given insert location (%i) for psListAdd is invalid.", location); 100 return false; 101 } 102 103 elem = psAlloc(sizeof(psListElem)); 63 static void listIteratorFree(psListIterator* iter) 64 { 65 if (iter == NULL) { 66 return; 67 } 68 69 // remove this iterator from the parent list 70 psArrayRemove(iter->list->iterators,iter); 71 72 } 73 74 static psBool listIteratorRemove(psListIterator* iterator) 75 { 76 if (iterator == NULL) { 77 return false; 78 } 79 80 psListElem* elem = iterator->cursor; 81 psList* list = iterator->list; 82 int index = iterator->index; 104 83 105 84 pthread_mutex_lock(&list->lock) 106 85 ; 107 86 108 if (location > 0 && location > list->size) { 109 psLogMsg(__func__, PS_LOG_WARN, 110 "Invalid index %d (only %d elements in psList); assuming tail.", location, list->size); 111 location = PS_LIST_TAIL; 112 } 113 114 if (location == PS_LIST_TAIL || list->size == 0) { 115 // insert the element at the end of the list 116 elem->prev = list->tail; 117 elem->next = NULL; 118 119 if (list->tail != NULL) { 120 list->tail->next = elem; 121 } 122 123 if (list->head == NULL) { 124 list->head = elem; 125 } 126 list->tail = elem; 127 128 list->size++; 129 list->p_iter = elem; 130 list->p_iterIndex = list->size - 1; 131 } else { 132 // move ourselves to the given position 133 listSetIterator(list, location, false); 134 position = listGetIterator(list); 135 cursorIndex = listGetIteratorIndex(list); 136 137 if (position == NULL) { 138 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 139 "Failed to move cursor to specified location (%d)", location); 140 position = list->head; // since we no list->size != 0, this must be non-NULL 141 } 142 // insert our new element in front of the given position 143 elem->prev = position->prev; 144 elem->next = position; 145 position->prev = elem; 146 147 if (elem->prev == NULL) { // must be front of list 148 list->head = elem; 149 } else { 150 elem->prev->next = elem; 151 } 152 153 list->size++; 154 list->p_iter = elem; 155 list->p_iterIndex = cursorIndex; 156 } 157 158 elem->data = psMemIncrRefCounter(data); 159 160 pthread_mutex_unlock(&list->lock) 161 ; 162 163 return true; 164 } 165 166 167 /* 168 * Remove an element from a list 169 */ 170 psBool psListRemove(psList* list, psS32 location, psPtr data) 171 { 172 psListElem* elem = NULL; // element to remove 173 psS32 cursorIndex = 0; 174 175 if (list == NULL) { 176 psError(PS_ERR_BAD_PARAMETER_NULL, true, "list parameter found to be NULL."); 177 return false; 178 } 179 // get exclusive access to list so that other threads will not get in the way. 180 pthread_mutex_lock(&list->lock) 181 ; 182 183 if (location == PS_LIST_UNKNOWN) { 184 // search list for the data item. 185 186 psS32 i = 0; // index 187 188 for (psListElem* ptr = list->head; ptr != NULL; ptr = ptr->next) { 189 if (ptr->data == data) { 190 location = i; 191 break; 192 } 193 i++; 194 } 195 196 if (location == PS_LIST_UNKNOWN) { 197 psError(PS_ERR_BAD_PARAMETER_VALUE, true, "Failed to find item in given psList."); 198 pthread_mutex_unlock(&list->lock) 199 ; 200 return false; 201 } 202 } 203 // position the list's cursor to the desired location 204 listSetIterator(list, location, false); 205 elem = listGetIterator(list); 206 cursorIndex = listGetIteratorIndex(list); 207 208 if (elem == NULL) { 209 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 210 "Couldn't position to given index (%d) to remove element from list.", location); 211 pthread_mutex_unlock(&list->lock) 212 ; 213 return false; 214 } 215 216 list->size--; 217 218 if (elem->prev == NULL) { // head of list? 87 if (elem == list->head) { // head of list? 219 88 list->head = elem->next; 220 89 } else { … … 222 91 } 223 92 224 if (elem ->next == NULL) {// tail of list?93 if (elem == list->tail) { // tail of list? 225 94 list->tail = elem->prev; 226 227 // removed tail, so iter should be the last element of list to keep it valid 228 if (list->size > 0) { 229 list->p_iter = list->tail; 230 list->p_iterIndex = list->size - 1; 95 } else { 96 elem->next->prev = elem->prev; 97 } 98 99 psArray* iterators = list->iterators; 100 for (int i = 0; i < iterators->n; i++) { 101 psListIterator* iter = (psListIterator*) iterators->data[i]; 102 if (iter->cursor == elem) { 103 iter->cursor = NULL; 104 } else if (iter->index > index) { 105 iter->index--; 106 } 107 } 108 109 list->size--; 110 111 pthread_mutex_unlock(&list->lock) 112 ; 113 114 // OK, delete orphaned list element and its data 115 psFree(elem->data); 116 psFree(elem); 117 118 return true; 119 } 120 121 psList* psListAlloc(psPtr data) 122 { 123 psList* list = psAlloc(sizeof(psList)); 124 125 p_psMemSetDeallocator(list, (psFreeFcn) listFree); 126 127 list->size = 0; 128 list->head = list->tail = NULL; 129 list->iterators = psArrayAlloc(16); 130 131 // create a default iterator 132 list->iterators->data[0] = psListIteratorAlloc(list,PS_LIST_HEAD); 133 list->iterators->n = 1; 134 135 pthread_mutex_init(&(list->lock), NULL) 136 ; 137 138 if (data != NULL) { 139 psListAdd(list, PS_LIST_TAIL, data); 140 } 141 142 return list; 143 } 144 145 psListIterator* psListIteratorAlloc(psList* list, int location) 146 { 147 psListIterator* iter = psAlloc(sizeof(psListIterator)); 148 149 p_psMemSetDeallocator(iter, (psFreeFcn) listIteratorFree); 150 151 // initialize the attributes 152 iter->list = list; 153 iter->cursor = NULL; 154 iter->index = 0; 155 iter->offEnd = false; 156 157 // add to the list's array of iterators 158 psArray* listIterators = list->iterators; 159 int num = listIterators->n; 160 if ( num >= listIterators->nalloc) { 161 // need to resize the array to make more room for another iterator. 162 list->iterators = psArrayRealloc(listIterators,listIterators->nalloc*2); 163 listIterators = list->iterators; 164 } 165 listIterators->data[num] = iter; 166 listIterators->n = num+1; 167 168 if (! psListIteratorSet(iter,location)) { 169 psFree(iter); 170 iter = NULL; 171 } 172 173 return iter; 174 } 175 176 psBool psListIteratorSet(psListIterator* iterator, 177 int location) 178 { 179 if (iterator == NULL) { 180 return false; 181 } 182 183 psList* list = iterator->list; 184 185 if (location >= list->size) { 186 psLogMsg(__func__, PS_LOG_WARN, 187 "Specified index, %d, is beyond the end of the psList, which " 188 "has only %d elements. Assuming tail.", 189 location, list->size); 190 location = PS_LIST_TAIL; 191 } 192 193 if (location == PS_LIST_TAIL) { 194 iterator->cursor = list->tail; 195 iterator->index = list->size - 1; 196 iterator->offEnd = false; 197 return true; 198 } 199 200 if (location <= 0) { // Invalid index 201 return false; 202 } 203 204 205 psListElem* cursor = iterator->cursor; 206 int index = iterator->index; 207 if (cursor == NULL) { // set the cursor to the head if it is NULL 208 if (location > list->size/2) { // closer to tail or head? 209 cursor = list->tail; 210 index = list->size - 1; 231 211 } else { 232 list->p_iter = ITER_INIT_TAIL; 212 cursor = list->head; 213 index = 0; 214 } 215 } 216 217 if (location < index) { 218 psS32 diff = index - location; 219 220 for (psS32 count = 0; count < diff; count++) { 221 cursor = cursor->prev; // shouldn't need to check for NULL 233 222 } 234 223 } else { 235 elem->next->prev = elem->prev; 236 list->p_iter = elem->next; 237 list->p_iterIndex = cursorIndex; 224 psS32 diff = location - index; 225 226 for (psS32 count = 0; count < diff; count++) { 227 cursor = cursor->next; // shouldn't need to check for NULL 228 } 229 } 230 iterator->cursor = cursor; 231 iterator->index = location; 232 iterator->offEnd = false; 233 234 return true; 235 } 236 237 psBool psListAdd(psList* list, psS32 location, psPtr data) 238 { 239 240 if (list == NULL) { 241 psError(PS_ERR_BAD_PARAMETER_NULL, true, 242 PS_ERRORTEXT_psList_LIST_NULL); 243 return false; 244 } 245 246 if (data == NULL) { 247 psError(PS_ERR_BAD_PARAMETER_NULL, true, 248 PS_ERRORTEXT_psList_DATA_NULL); 249 return false; 250 } 251 252 // move ourselves to the given position 253 if (list->iterators->n < 1 || 254 ! psListIteratorSet(list->iterators->data[0],location)) { 255 // oh no, I can't find where to add this! 256 psError(PS_ERR_UNKNOWN, false, 257 PS_ERRORTEXT_psList_LOCATION_INVALID, 258 location); 259 return false; 260 } 261 262 if (location == PS_LIST_TAIL) { 263 // insert the element at the end of the list 264 return psListAddAfter(list->iterators->data[0],data); 265 } else { 266 return psListAddBefore(list->iterators->data[0],data); 267 } 268 } 269 270 bool psListAddAfter(psListIterator* iterator, void* data) 271 { 272 if (data == NULL) { 273 psError(PS_ERR_BAD_PARAMETER_NULL, true, 274 PS_ERRORTEXT_psList_DATA_NULL); 275 return false; 276 } 277 278 if (iterator == NULL) { 279 psError(PS_ERR_BAD_PARAMETER_NULL, true, 280 PS_ERRORTEXT_psList_ITERATOR_NULL); 281 return false; 282 } 283 284 psListElem* cursor = iterator->cursor; 285 286 if (cursor == NULL) { 287 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 288 PS_ERRORTEXT_psList_ITERATOR_INVALID); 289 return false; 290 } 291 292 psList* list = iterator->list; 293 psListElem* elem = psAlloc(sizeof(psListElem)); 294 295 pthread_mutex_lock(&list->lock) 296 ; 297 298 // set the new list element's attributes 299 elem->prev = cursor; 300 elem->next = cursor->next; 301 elem->data = data; 302 303 cursor->next = elem; 304 list->size++; 305 306 if (cursor == list->tail) { 307 list->tail = elem; 308 } 309 310 psArray* iterators = list->iterators; 311 int index = iterator->index; 312 for (int i = 0; i < iterators->n; i++) { 313 psListIterator* iter = (psListIterator*) iterators->data[i]; 314 if (iter->index > index) { 315 iter->index++; 316 } 238 317 } 239 318 … … 241 320 ; 242 321 243 // OK, delete list element and its data244 psFree(elem->data);245 psFree(elem);246 247 322 return true; 248 323 } 249 324 250 void psListSetIterator(psList* list, psS32 where) 251 { 252 listSetIterator(list, where, true); 253 } 254 255 static void listSetIterator(psList* list, psS32 where, psBool lockList) 256 { 257 psListElem* cursor; 258 psS32 position; 259 325 bool psListAddBefore(psListIterator* iterator, void* data) 326 { 327 if (data == NULL) { 328 psError(PS_ERR_BAD_PARAMETER_NULL, true, 329 PS_ERRORTEXT_psList_DATA_NULL); 330 return false; 331 } 332 333 if (iterator == NULL) { 334 psError(PS_ERR_BAD_PARAMETER_NULL, true, 335 PS_ERRORTEXT_psList_ITERATOR_NULL); 336 return false; 337 } 338 339 psListElem* cursor = iterator->cursor; 340 341 if (cursor == NULL) { 342 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 343 PS_ERRORTEXT_psList_ITERATOR_INVALID); 344 return false; 345 } 346 347 psList* list = iterator->list; 348 psListElem* elem = psAlloc(sizeof(psListElem)); 349 350 pthread_mutex_lock(&list->lock) 351 ; 352 353 // set the new list element's attributes 354 elem->prev = cursor->prev; 355 elem->next = cursor; 356 elem->data = data; 357 358 cursor->prev = elem; 359 list->size++; 360 361 if (cursor == list->head) { 362 list->head = elem; 363 } 364 365 psArray* iterators = list->iterators; 366 int index = iterator->index; 367 for (int i = 0; i < iterators->n; i++) { 368 psListIterator* iter = (psListIterator*) iterators->data[i]; 369 if (iter->index >= index) { 370 iter->index++; 371 } 372 } 373 374 pthread_mutex_unlock(&list->lock) 375 ; 376 377 return true; 378 } 379 380 psBool psListRemove(psList* list, 381 psS32 location) 382 { 260 383 if (list == NULL) { 261 384 psError(PS_ERR_BAD_PARAMETER_NULL, true, 262 "Unexpected null pointer for psList parameter."); 263 return; 264 } 265 266 if (where == PS_LIST_CURRENT) { 267 return; 268 } 269 270 if (lockList) { 271 pthread_mutex_lock(&list->lock) 272 ; 273 // don't want the list changing on us while we move about 274 } 275 276 if (where >= (psS32)list->size) { 277 list->p_iter = NULL; 278 if (lockList) { 279 pthread_mutex_unlock(&list->lock) 280 ; 281 } 282 return; 283 } 284 285 switch (where) { 286 case PS_LIST_HEAD: 287 list->p_iter = ITER_INIT_HEAD; 288 break; 289 290 case PS_LIST_TAIL: 291 list->p_iter = ITER_INIT_TAIL; 292 break; 293 294 case PS_LIST_PREVIOUS: 295 cursor = listGetIterator(list); 296 position = listGetIteratorIndex(list); 297 298 if (cursor != NULL) { 299 list->p_iter = cursor->prev; 300 list->p_iterIndex = position - 1; 301 } 302 break; 303 304 case PS_LIST_NEXT: 305 cursor = listGetIterator(list); 306 position = listGetIteratorIndex(list); 307 308 if (cursor != NULL) { 309 list->p_iter = cursor->next; 310 list->p_iterIndex = position + 1; 311 } 312 break; 313 314 case PS_LIST_CURRENT: 315 break; 316 317 default: 318 if (where <= PS_LIST_HEAD) { // bascially same as PS_LIST_UNKNOWN above 319 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 320 "Can't move to an unknown position. Not moving the iterator position."); 321 } else { 322 cursor = listGetIterator(list); 323 if (cursor == NULL) { // reset the iterator if it is invalid 324 list->p_iter = ITER_INIT_HEAD; 325 list->p_iterIndex = 0; 326 } 327 328 psS32 position = listGetIteratorIndex(list); 329 330 if (where < position) { 331 psS32 diff = position - where; 332 333 for (psS32 count = 0; count < diff; count++) { 334 listSetIterator(list, PS_LIST_PREVIOUS, false); 335 } 336 } else { 337 psS32 diff = where - position; 338 339 for (psS32 count = 0; count < diff; count++) { 340 listSetIterator(list, PS_LIST_NEXT, false); 341 } 342 } 343 } 344 break; 345 } 346 347 if (lockList) { 348 pthread_mutex_unlock(&list->lock) 349 ; 350 } 351 } 352 353 psListElem* listGetIterator(psList* list) 385 PS_ERRORTEXT_psList_LIST_NULL); 386 return false; 387 } 388 389 // move ourselves to the given position 390 psListIterator* defaultIterator = list->iterators->data[0]; 391 if (list->iterators->n < 1 || 392 ! psListIteratorSet(defaultIterator,location)) { 393 // oh no, I can't find where to add this! 394 psError(PS_ERR_UNKNOWN, false, 395 PS_ERRORTEXT_psList_LOCATION_INVALID, 396 location); 397 return false; 398 } 399 400 return listIteratorRemove(defaultIterator); 401 } 402 403 psBool psListRemoveData(psList* list, 404 psPtr data) 354 405 { 355 406 if (list == NULL) { 407 psError(PS_ERR_BAD_PARAMETER_NULL, true, 408 PS_ERRORTEXT_psList_LIST_NULL); 409 return false; 410 } 411 412 if (data == NULL) { 413 psError(PS_ERR_BAD_PARAMETER_NULL, true, 414 PS_ERRORTEXT_psList_DATA_NULL); 415 return false; 416 } 417 418 psListIterator* iterator = list->iterators->data[0]; 419 psListIteratorSet(iterator,PS_LIST_HEAD); 420 421 psPtr iteratorData = psListGetNext(iterator); 422 while (iteratorData != NULL && iteratorData != data) { 423 iteratorData = psListGetNext(iterator); 424 } 425 426 if (iteratorData == NULL) { 427 psError(PS_ERR_BAD_PARAMETER_NULL, true, 428 PS_ERRORTEXT_psList_DATA_NOT_FOUND); 429 return false; 430 } 431 432 return listIteratorRemove(iterator); 433 } 434 435 psPtr psListGet(psList* list, psS32 location) 436 { 437 psListIterator* iterator = list->iterators->data[0]; 438 439 if (! psListIteratorSet(iterator,location)) { 440 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 441 PS_ERRORTEXT_psList_LOCATION_INVALID, 442 location); 356 443 return NULL; 357 444 } 358 445 359 if (list->p_iter == ITER_INIT_HEAD) { 360 return list->head; 361 } else if (list->p_iter == ITER_INIT_TAIL) { 362 return list->tail; 363 } else { 364 return list->p_iter; 365 } 366 } 367 368 psS32 listGetIteratorIndex(psList* list) 369 { 370 if (list->p_iter == ITER_INIT_HEAD) { 371 return 0; 372 } else if (list->p_iter == ITER_INIT_TAIL) { 373 return list->size - 1; 374 } else { 375 return list->p_iterIndex; 376 } 377 } 378 379 psPtr psListGet(psList* list, psS32 location) 380 { 381 psListElem* element; 382 383 psListSetIterator(list, location); 384 element = listGetIterator(list); 385 386 if (element == NULL) { 387 return NULL; 388 } else { 389 return element->data; 390 } 446 return iterator->cursor->data; 391 447 } 392 448 … … 394 450 * and now return the previous/next element of the list 395 451 */ 396 psPtr psListGetNext(psList* list) 397 { 398 return psListGet(list, PS_LIST_NEXT); 399 } 400 401 psPtr psListGetPrevious(psList* list) 402 { 403 return psListGet(list, PS_LIST_PREVIOUS); 404 } 405 406 psPtr psListGetCurrent(psList* list) 407 { 408 return psListGet(list, PS_LIST_CURRENT); 452 psPtr psListGetNext(psListIterator* iterator) 453 { 454 if (iterator == NULL || iterator->cursor == NULL) { 455 return NULL; 456 } 457 458 psPtr data = iterator->cursor->data; 459 460 iterator->cursor = iterator->cursor->next; 461 iterator->index++; 462 if (iterator->cursor == NULL) { 463 iterator->offEnd = true; 464 } 465 466 return data; 467 } 468 469 psPtr psListGetPrevious(psListIterator* iterator) 470 { 471 if (iterator == NULL || iterator->cursor == NULL) { 472 return NULL; 473 } 474 475 psPtr data = iterator->cursor->data; 476 477 iterator->cursor = iterator->cursor->prev; 478 iterator->index--; 479 480 return data; 409 481 } 410 482 … … 467 539 // convert to indexable vector for use by qsort. 468 540 arr = psListToArray(list); 541 psArray* iterators = psMemIncrRefCounter(list->iterators); 469 542 psFree(list); 470 543 … … 473 546 // convert back to linked list 474 547 list = psArrayToList(arr); 548 psFree(list->iterators); 549 list->iterators = iterators; 475 550 psFree(arr); 476 551 552 // sorting should invalidate all iterator positions. 553 for (int i = 0; i < iterators->n; i++) { 554 ((psListIterator*)iterators->data[i])->cursor = NULL; 555 } 556 477 557 return list; 478 558 } -
trunk/psLib/src/collections/psList.h
r2375 r2681 10 10 * @ingroup LinkedList 11 11 * 12 * @version $Revision: 1.1 7$ $Name: not supported by cvs2svn $13 * @date $Date: 2004-1 1-16 20:00:20$12 * @version $Revision: 1.18 $ $Name: not supported by cvs2svn $ 13 * @date $Date: 2004-12-10 02:50:14 $ 14 14 * 15 15 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 34 34 PS_LIST_HEAD = 0, ///< at head 35 35 PS_LIST_TAIL = -1, ///< at tail 36 PS_LIST_PREVIOUS = -2, ///< previous element37 PS_LIST_CURRENT = -3, ///< current element38 PS_LIST_NEXT = -4, ///< next element39 PS_LIST_UNKNOWN = -5 ///< unknown position (should be last in enum list)40 36 }; 41 37 … … 59 55 psListElem* head; ///< first element on list (may be NULL) 60 56 psListElem* tail; ///< last element on list (may be NULL) 61 psArray* iterators; ///< iterators 57 psArray* iterators; 58 ///< array of all iterators associated with this list. First iterator is 59 ///< used internally to improve performance when using indexed access, all 60 ///< others are user-level iterators created by psListIteratorAlloc. 61 62 62 pthread_mutex_t lock; ///< mutex to lock a node during changes 63 psListElem* p_iter; ///< internal cursor for increased performance index accessing64 int p_iterIndex; ///< index position of the iter.65 63 } 66 64 psList; … … 77 75 { 78 76 psList* list; ///< List iterator to works on 79 psU32 number; ///< List iterator number80 77 psListElem* cursor; ///< current cursor position 78 int index; ///< the index number in the list 81 79 bool offEnd; ///< Iterator off the end? 82 80 } … … 94 92 ; 95 93 94 /** Creates a psListIterator object and associates it with a psList. 95 * 96 * @return psListIterator* A new psListIterator object. 97 */ 98 psListIterator* psListIteratorAlloc( 99 psList* list, ///< the psList to iterate with 100 int location ///< the initial starting point. 101 ///< This can be a numeric index, PS_LIST_HEAD, or PS_LIST_TAIL. 102 ); 103 104 /** Set the iterator of the list to a given position. If location is invalid the 105 * iterator position is not changed. 106 * 107 * @return psBool TRUE if iterator successfully set, otherwise FALSE. 108 */ 109 psBool psListIteratorSet( 110 psListIterator* iterator, ///< list iterator 111 int location ///< index number, PS_LIST_HEAD, or PS_LIST_TAIL 112 ); 113 96 114 /** Adds an element to a psList at position given. 97 115 * 98 * @return psList* The psList with added data item. If list parameter is 99 * NULL, the return value will also be NULL. 116 * @return psBool TRUE if item was successfully added, otherwise FALSE. 100 117 */ 101 118 psBool psListAdd( 102 psList* restrict list, ///< list to add to (if NULL, nothing is done)103 psS32 location, ///< index, PS_LIST_HEAD, PS_LIST_TAIL, or numbered location.119 psList* restrict list, ///< list to add item to 120 psS32 location, ///< index, PS_LIST_HEAD, PS_LIST_TAIL, or numbered location. 104 121 psPtr data ///< data item to add. If NULL, list is not modified. 105 122 ); 106 123 107 /** Remove an item from a list. If location parameter is PS_LIST_UNKNOWN, 124 /** Adds an data item to a psList at position just after the list position given 125 * 126 * @return psBool TRUE if item was successfully added, otherwise FALSE. 127 */ 128 psBool psListAddAfter( 129 psListIterator* list, ///< list position to add item to 130 psPtr data ///< data item to add. If NULL, list is not modified. 131 ); 132 133 /** Adds an data item to a psList at position just before the list position given 134 * 135 * @return psBool TRUE if item was successfully added, otherwise FALSE. 136 */ 137 psBool psListAddBefore( 138 psListIterator* list, ///< list position to add item to 139 psPtr data ///< data item to add. If NULL, list is not modified. 140 ); 141 142 /** Remove an item at the specified location from a list. 108 143 * 109 144 * @return psBool TRUE if element is successfully removed, otherwise FALSE. 110 145 */ 111 146 psBool psListRemove( 112 psList* restrict list, 113 ///< list to remove element from 114 psS32 location, 115 ///< index of item, or PS_LIST_UNKNOWN, PS_LIST_NEXT, PS_LIST_PREV, or numbered location. 116 psPtr data 117 ///< if location is PS_LIST_UNKNOWN, data item to find and remove, otherwise this is ignored. 147 psList* restrict list, ///< list to remove element from 148 psS32 location ///< index of item 149 ); 150 151 /** Remove an item from a list. 152 * 153 * @return psBool TRUE if element is successfully removed, otherwise FALSE. 154 */ 155 psBool psListRemoveData( 156 psList* restrict list, ///< list to remove element from 157 psPtr data ///< data item to find and remove 118 158 ); 119 159 … … 127 167 psPtr psListGet( 128 168 psList* restrict list, ///< list to retrieve element from 129 psS32 location ///< index number, or PS_LIST_NEXT, PS_LIST_PREV, PS_LIST_UNKNOWN 130 ); 131 132 /** Set the iterator of the list to a given position. If location is invalid the 133 * iterator position is not changed. 134 * 135 */ 136 void psListSetIterator( 137 psList* restrict list, ///< list to retrieve element from 138 psS32 location ///< index number, PS_LIST_HEAD, or PS_LIST_TAIL 139 ); 140 141 /** Get next element relative to the iterator. This also moves the iterator to 142 * the next list position. 143 * 144 * @return psPtr the data item next on the list or NULL if the iterator 145 * is already pointing to the last element or the list 146 * parameter was NULL. 169 psS32 location ///< index number, PS_LIST_HEAD, or PS_LIST_TAIL 170 ); 171 172 /** Position the specified iterator to the next item in list. 173 * 174 * @return psPtr the data item at the new iterator position or NULL if the 175 * iterator goes past the end of the list. 147 176 */ 148 177 psPtr psListGetNext( 149 psList* restrict list ///< list to retrieve element from 150 ); 151 152 /** Get current element according to the psList's iterator cursor. This does 153 * not move the iterator location. 154 * 155 * @return psPtr the data item cooresponding to current iterator 156 * cursor position of the list, or NULL if either the 157 * iterator is not valid or list parameter was NULL. 158 */ 159 psPtr psListGetCurrent( 160 psList* restrict list ///< list to retrieve element from 161 ); 162 163 /** Get previous element relative to list's iterator. This also moves the 164 * iterator to the previous list position. 165 * 166 * @return psPtr the data item previous on the list or NULL if the iterator 167 * is already pointing to the first element or the list 168 * parameter was NULL. 178 psListIterator* restrict iterator ///< iterator to move 179 ); 180 181 /** Position the specified iterator to the previous item in list. 182 * 183 * @return psPtr the data item at the new iterator position or NULL if the 184 * iterator goes past the beginning of the list. 169 185 */ 170 186 psPtr psListGetPrevious( 171 psList * restrict list ///< list to retrieve element from187 psListIterator* restrict iterator ///< iterator to move 172 188 ); 173 189 -
trunk/psLib/src/collections/psMetadata.c
r2659 r2681 12 12 * @author Ross Harman, MHPCC 13 13 * 14 * @version $Revision: 1.4 2$ $Name: not supported by cvs2svn $15 * @date $Date: 2004-12- 07 23:27:25$14 * @version $Revision: 1.43 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2004-12-10 02:50:14 $ 16 16 * 17 17 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 352 352 { 353 353 psList* mdList = NULL; 354 psList* entryList = NULL;355 354 psHash* mdTable = NULL; 356 355 psMetadataItem* entry = NULL; 357 psMetadataItem* entryChild = NULL;358 356 359 357 … … 375 373 } 376 374 377 if (entry->type == PS_META_LIST) {378 379 // Table entry has children. Entry and children must be removed from metadata collection's list380 psListSetIterator(entryList, PS_LIST_HEAD);381 entryChild = psListGetCurrent(entryList);382 while(entryChild != NULL) {383 if (!psListRemove(mdList, PS_LIST_UNKNOWN, entryChild)) {384 psError(PS_ERR_UNKNOWN, false, PS_ERRORTEXT_psMetadata_REMOVE_LIST_FAILED, key);385 return false;386 }387 entryChild = psListGetNext(entryList);388 }389 } else {390 391 // Table entry has no children. Remove entry from metadata collection's list392 if (!psListRemove(mdList, PS_LIST_UNKNOWN, entry)) {393 psError(PS_ERR_UNKNOWN, false, PS_ERRORTEXT_psMetadata_REMOVE_LIST_FAILED, key);394 return false;395 }396 }397 // Remove entry from metadata collection's table398 if (!psHashRemove(mdTable, key)) {399 psError(PS_ERR_UNKNOWN, false, PS_ERRORTEXT_psMetadata_REMOVE_TABLE_FAILED, key);400 return false;401 }402 375 } else { 403 376 … … 414 387 return false; 415 388 } 416 // Use recursive remove, now that key is known 417 psMetadataRemove(md, PS_LIST_UNKNOWN, key); 389 } 390 391 if (!psListRemoveData(mdList, entry)) { 392 psError(PS_ERR_UNKNOWN, false, PS_ERRORTEXT_psMetadata_REMOVE_LIST_FAILED, key); 393 return false; 394 } 395 396 // Remove entry from metadata collection's table 397 if (!psHashRemove(mdTable, key)) { 398 psError(PS_ERR_UNKNOWN, false, PS_ERRORTEXT_psMetadata_REMOVE_TABLE_FAILED, key); 399 return false; 418 400 } 419 401 -
trunk/psLib/src/collections/psMetadataIO.c
r2637 r2681 9 9 * @author Ross Harman, MHPCC 10 10 * 11 * @version $Revision: 1.1 5$ $Name: not supported by cvs2svn $12 * @date $Date: 2004-12- 06 19:59:57$11 * @version $Revision: 1.16 $ $Name: not supported by cvs2svn $ 12 * @date $Date: 2004-12-10 02:50:14 $ 13 13 * 14 14 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 19 19 #include <string.h> 20 20 #include <ctype.h> 21 #include <limits.h> 21 22 22 23 #include "psAbort.h" … … 598 599 if(metadataItem->type!=PS_META_LIST) { 599 600 if(overwrite) { 600 psMetadataRemove(md, PS_LIST_UNKNOWN, strName);601 psMetadataRemove(md, INT_MIN, strName); 601 602 } else { 602 603 (*nFail)++; … … 790 791 PS_PTR_CHECK_NULL_GENERAL(metadataItem, return); 791 792 PS_PTR_CHECK_NULL_GENERAL(metadataItem->data.list, return); 792 psListSetIterator(metadataItem->data.list, PS_LIST_TAIL); 793 metadataItem = (psMetadataItem*)psListGetCurrent(metadataItem->data.list); 793 metadataItem = (psMetadataItem*)psListGet(metadataItem->data.list,PS_LIST_TAIL); 794 794 htAtts = (psHash*)metadataItem->data.list; 795 795 PS_PTR_CHECK_NULL_GENERAL(htAtts, return); … … 848 848 if(metadataItem->type != PS_META_LIST) { 849 849 if(overwrite) { 850 psMetadataRemove(md, PS_LIST_UNKNOWN, strName);850 psMetadataRemove(md, INT_MIN, strName); 851 851 } else { 852 852 psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_OVERWRITE_ITEM, strName, lineNumber, … … 943 943 PS_PTR_CHECK_NULL_GENERAL(tables, return); 944 944 PS_PTR_CHECK_NULL_GENERAL(tables->data.list, return); 945 psListSetIterator(tables->data.list, PS_LIST_TAIL); 946 table = (psMetadataItem*)psListGetCurrent(tables->data.list); 945 table = (psMetadataItem*)psListGet(tables->data.list,PS_LIST_TAIL); 947 946 htAtts = (psHash*)table->data.list; 948 947 PS_PTR_CHECK_NULL_GENERAL(htAtts, return); … … 1002 1001 if(metadataItem->type != PS_META_LIST) { 1003 1002 if(overwrite) { 1004 psMetadataRemove(md, PS_LIST_UNKNOWN, strName);1003 psMetadataRemove(md, INT_MIN, strName); 1005 1004 } else { 1006 1005 psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_OVERWRITE_ITEM, strName, lineNumber, … … 1045 1044 PS_PTR_CHECK_NULL_GENERAL(tables, return); 1046 1045 PS_PTR_CHECK_NULL_GENERAL(tables->data.list, return); 1047 psListSetIterator(tables->data.list, PS_LIST_TAIL); 1048 table = (psMetadataItem*)psListGetCurrent(tables->data.list); 1046 table = (psMetadataItem*)psListGet(tables->data.list,PS_LIST_TAIL); 1049 1047 htAtts = (psHash*)table->data.list; 1050 1048 PS_PTR_CHECK_NULL_GENERAL(htAtts, return); … … 1070 1068 1071 1069 // Free temporary metadata item and its hash table 1072 psListRemove(tables->data.list, PS_LIST_TAIL , table);1070 psListRemove(tables->data.list, PS_LIST_TAIL); 1073 1071 1074 1072 psFree(psEndTagName); -
trunk/psLib/src/dataIO/psFileUtilsErrors.dat
r2580 r2681 34 34 psFits_METADATA_ADD_FAILED Failed to add metadata item, %s. 35 35 psFits_WRITE_FAILED Could not write psImage data to file,'%s'.\nCFITSIO Error: %s 36 psFits_IMAGE_NULL The input psImage was NULL. Need a non-NULL psImage for operation. 36 psFits_IMAGE_NULL The input psImage was NULL. Need a non-NULL psImage for operation to be performed. 37 psFits_METADATA_NULL The input psMetadata was NULL. Need a non-NULL psMetadata for operation to be performed. 38 # -
trunk/psLib/src/dataIO/psFileUtilsErrors.h
r2600 r2681 7 7 * @author Robert DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1. 3$ $Name: not supported by cvs2svn $10 * @date $Date: 2004-12- 02 21:12:52$9 * @version $Revision: 1.4 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2004-12-10 02:50:15 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 56 56 #define PS_ERRORTEXT_psFits_METADATA_ADD_FAILED "Failed to add metadata item, %s." 57 57 #define PS_ERRORTEXT_psFits_WRITE_FAILED "Could not write psImage data to file,'%s'.\nCFITSIO Error: %s" 58 #define PS_ERRORTEXT_psFits_IMAGE_NULL "The input psImage was NULL. Need a non-NULL psImage for operation." 58 #define PS_ERRORTEXT_psFits_IMAGE_NULL "The input psImage was NULL. Need a non-NULL psImage for operation to be performed." 59 #define PS_ERRORTEXT_psFits_METADATA_NULL "The input psMetadata was NULL. Need a non-NULL psMetadata for operation to be performed." 59 60 //~End 60 61 -
trunk/psLib/src/dataIO/psFits.c
r2375 r2681 7 7 * @author Robert DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1. 1$ $Name: not supported by cvs2svn $10 * @date $Date: 2004-1 1-16 20:00:21$9 * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2004-12-10 02:50:15 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 200 200 } 201 201 202 psFitsTypepsFitsMoveExtName(psFits* fits,203 const char* extname)204 { 205 int status = 0; 206 207 if (fits == NULL) { 208 psError(PS_ERR_BAD_PARAMETER_NULL, true, 209 PS_ERRORTEXT_psFits_NULL); 210 return PS_FITS_TYPE_NONE;202 bool psFitsMoveExtName(psFits* fits, 203 const char* extname) 204 { 205 int status = 0; 206 207 if (fits == NULL) { 208 psError(PS_ERR_BAD_PARAMETER_NULL, true, 209 PS_ERRORTEXT_psFits_NULL); 210 return false; 211 211 } 212 212 … … 218 218 PS_ERRORTEXT_psFits_EXTNAME_INVALID, 219 219 extname, fits->filename, fitsErr); 220 return PS_FITS_TYPE_NONE;221 } 222 223 return psFitsGetExtType(fits);224 } 225 226 psFitsTypepsFitsMoveExtNum(psFits* fits,227 int extnum,228 bool relative)229 { 230 if (fits == NULL) { 231 psError(PS_ERR_BAD_PARAMETER_NULL, true, 232 PS_ERRORTEXT_psFits_NULL); 233 return PS_FITS_TYPE_NONE;220 return false; 221 } 222 223 return true; 224 } 225 226 bool psFitsMoveExtNum(psFits* fits, 227 int extnum, 228 bool relative) 229 { 230 if (fits == NULL) { 231 psError(PS_ERR_BAD_PARAMETER_NULL, true, 232 PS_ERRORTEXT_psFits_NULL); 233 return false; 234 234 } 235 235 … … 249 249 PS_ERRORTEXT_psFits_EXTNUM_INVALID, 250 250 extnum, fits->filename, fitsErr); 251 return PS_FITS_TYPE_NONE;252 } 253 254 return hdutype;251 return false; 252 } 253 254 return true; 255 255 } 256 256 … … 304 304 psError(PS_ERR_BAD_PARAMETER_NULL, true, 305 305 PS_ERRORTEXT_psFits_NULL); 306 return PS_FITS_TYPE_NONE;306 return 0; 307 307 } 308 308 … … 316 316 PS_ERRORTEXT_psFits_GETNUMHDUS_FAILED, 317 317 fits->filename, fitsErr); 318 return -1;318 return 0; 319 319 } 320 320 321 321 return num; 322 }323 324 bool psFitsCreateExt(psFits* fits)325 {326 if (fits == NULL) {327 psError(PS_ERR_BAD_PARAMETER_NULL, true,328 PS_ERRORTEXT_psFits_NULL);329 return false;330 }331 332 int status = 0;333 334 fits_create_hdu(fits->p_fd,&status);335 336 if ( status != 0) {337 char fitsErr[MAX_STRING_LENGTH];338 (void)fits_get_errstatus(status, fitsErr);339 psError(PS_ERR_IO, true,340 PS_ERRORTEXT_psFits_CREATE_HDU_FAILED,341 fits->filename, fitsErr);342 return false;343 }344 345 return true;346 322 } 347 323 … … 481 457 } 482 458 483 int status = 0;484 485 459 int size = psFitsGetSize(fits); 486 int position = psFitsGetExtNum(fits);487 460 488 461 for (int lcv=0; lcv < size; lcv++) { … … 502 475 } 503 476 } 477 478 return out; 504 479 } 505 480 506 481 bool psFitsWriteImage(psFits* fits, 482 const psMetadata* header, 507 483 const psImage* input, 508 int x, 509 int y, 510 int z) 484 int numZPlanes) 511 485 { 512 486 … … 526 500 527 501 int status = 0; 528 529 psFitsType fitsType = psFitsGetExtType(fits);530 531 if (fitsType != PS_FITS_TYPE_IMAGE && fitsType != PS_FITS_TYPE_ANY) {532 psError(PS_ERR_IO, true,533 PS_ERRORTEXT_psFits_NOT_IMAGE_TYPE);534 return false;535 }536 502 537 503 // determine the FITS-equivalent parameters … … 543 509 } 544 510 545 if (fitsType == PS_FITS_TYPE_ANY) { 546 int naxis = 3; 547 long naxes[3]; 548 549 naxes[0] = numCols; 550 naxes[1] = numRows; 551 naxes[2] = z; 552 553 if (z < 2) { 554 naxis = 2; 555 } 556 557 /* write the required keys to make an empty HDU be an IMAGE HDU */ 558 fits_write_imghdr(fits->p_fd, bitPix, naxis, naxes, &status); 559 if (bZero != 0) { // set the bscale/bzero 560 fits_write_key_dbl(fits->p_fd, "BZERO", bZero, 12, "Pixel Value Offset", &status); 561 fits_write_key_dbl(fits->p_fd, "BSCALE", 1.0, 12, "Pixel Value Scale", &status); 562 // don't think this is needed: fits_set_bscale(fits->p_fd, bScale, bZero, &status); 563 } 564 } 565 566 long firstPixel[3]; /* First Pixel to read */ 567 long lastPixel[3]; /* Last Pixel to read */ 568 firstPixel[0] = x + 1; 569 firstPixel[1] = y + 1; 570 firstPixel[2] = z + 1; 571 572 lastPixel[0] = firstPixel[0] + numCols - 1; 573 lastPixel[1] = firstPixel[1] + numRows - 1; 574 lastPixel[2] = z + 1; 575 576 fits_write_subset(fits->p_fd, dataType, firstPixel, lastPixel, input->data.V[0], &status); 511 int naxis = 3; 512 long naxes[3]; 513 514 naxes[0] = numCols; 515 naxes[1] = numRows; 516 naxes[2] = numZPlanes; 517 518 if (numZPlanes < 2) { 519 naxis = 2; 520 } 521 522 fits_create_img(fits->p_fd, bitPix, naxis, naxes, &status); 523 524 if (bZero != 0) { // set the bscale/bzero 525 fits_write_key_dbl(fits->p_fd, "BZERO", bZero, 12, "Pixel Value Offset", &status); 526 fits_write_key_dbl(fits->p_fd, "BSCALE", 1.0, 12, "Pixel Value Scale", &status); 527 fits_set_bscale(fits->p_fd, 1.0, bZero, &status); 528 } 529 530 // write the header, if any. 531 if (header != NULL) { 532 psFitsWriteHeader(fits, header); 533 } 534 535 long firstPixel = (numZPlanes-1)*numRows*numCols; // start write in last z-plane 536 537 if (input->parent == NULL) { // if no parent, assume that the image data is contiguous 538 fits_write_img(fits->p_fd, 539 dataType, // datatype 540 firstPixel, // writing to the first z-plane 541 numCols*numRows, // number of elements to write, i.e., the whole image 542 input->data.V[0], // the data 543 &status); 544 } else { // image data may not be contiguous; write one row at a time 545 for (int row = 0; row < numRows; row++) { 546 fits_write_img(fits->p_fd, 547 dataType, // datatype 548 firstPixel, 549 numCols, // number of elements to write, i.e., one row's worth 550 input->data.V[row],// the raw row data 551 &status); 552 firstPixel += numCols; // move to next row 553 } 554 } 577 555 578 556 if ( status != 0) { … … 589 567 } 590 568 569 bool psFitsWriteHeader(psMetadata* header, 570 psFits* fits) 571 { 572 573 if (fits == NULL) { 574 psError(PS_ERR_BAD_PARAMETER_NULL, true, 575 PS_ERRORTEXT_psFits_NULL); 576 return false; 577 } 578 579 if (header == NULL) { 580 psError(PS_ERR_BAD_PARAMETER_NULL, true, 581 PS_ERRORTEXT_psFits_METADATA_NULL); 582 return false; 583 } 584 585 586 return true; 587 } 588 591 589 psMetadata* psFitsReadTableRow(psFits* fits, 592 590 int row) 593 { 594 } 591 {} 595 592 596 593 psArray* psFitsReadTableColumn(psFits* fits, 597 594 const char* colname) 598 { 599 } 595 {} 600 596 601 597 psVector* psFitsReadTableColumnNum(psFits* fits, 602 598 const char* colname) 603 { 604 } 599 {} 605 600 606 601 607 602 psArray* psFitsReadTable(psFits* fits) 608 { 609 } 603 {} 610 604 611 605 bool psFitsWriteTable(psFits* fits, 612 606 psArray* table) 613 { 614 } 607 {} -
trunk/psLib/src/dataIO/psFits.h
r2375 r2681 7 7 * @author Robert DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1. 1$ $Name: not supported by cvs2svn $10 * @date $Date: 2004-1 1-16 20:00:21$9 * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2004-12-10 02:50:15 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 63 63 * @return psFitsType The HDU type, or PS_FITS_TYPE_NONE if move failed. 64 64 */ 65 psFitsTypepsFitsMoveExtName(65 bool psFitsMoveExtName( 66 66 psFits* fits, ///< the psFits object to move 67 67 const char* extname ///< the extension name … … 72 72 * @return psFitsType The HDU type, or PS_FITS_TYPE_NONE if move failed. 73 73 */ 74 psFitsTypepsFitsMoveExtNum(74 bool psFitsMoveExtNum( 75 75 psFits* fits, ///< the psFits object to move 76 76 int extnum, ///< the extension number to move to (zero is primary HDU) … … 102 102 */ 103 103 int psFitsGetSize( 104 psFits* fits ///< the psFits object105 );106 107 /** Create a new extension on the end of the file of the given type. The108 * FITS file is109 *110 * @return bool true if successful, otherwise false111 */112 bool psFitsCreateExt(113 104 psFits* fits ///< the psFits object 114 105 ); … … 152 143 */ 153 144 bool psFitsWriteHeader( 154 ps Fits* fits, ///< the psFits object155 ps Metadata* out ///< the psMetadata data in which to write145 psMetadata* header, ///< the psMetadata data in which to write 146 psFits* fits ///< the psFits object 156 147 ); 157 148 … … 160 151 * @return psImage* the read image or NULL if there was an error. 161 152 */ 162 psImage* ps fitsReadImageSection(153 psImage* psFitsReadImageSection( 163 154 psImage* out, ///< a psImage to recycle. 164 155 psFits* fits, ///< the psFits object -
trunk/psLib/src/fileUtils/psFileUtilsErrors.dat
r2580 r2681 34 34 psFits_METADATA_ADD_FAILED Failed to add metadata item, %s. 35 35 psFits_WRITE_FAILED Could not write psImage data to file,'%s'.\nCFITSIO Error: %s 36 psFits_IMAGE_NULL The input psImage was NULL. Need a non-NULL psImage for operation. 36 psFits_IMAGE_NULL The input psImage was NULL. Need a non-NULL psImage for operation to be performed. 37 psFits_METADATA_NULL The input psMetadata was NULL. Need a non-NULL psMetadata for operation to be performed. 38 # -
trunk/psLib/src/fileUtils/psFileUtilsErrors.h
r2600 r2681 7 7 * @author Robert DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1. 3$ $Name: not supported by cvs2svn $10 * @date $Date: 2004-12- 02 21:12:52$9 * @version $Revision: 1.4 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2004-12-10 02:50:15 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 56 56 #define PS_ERRORTEXT_psFits_METADATA_ADD_FAILED "Failed to add metadata item, %s." 57 57 #define PS_ERRORTEXT_psFits_WRITE_FAILED "Could not write psImage data to file,'%s'.\nCFITSIO Error: %s" 58 #define PS_ERRORTEXT_psFits_IMAGE_NULL "The input psImage was NULL. Need a non-NULL psImage for operation." 58 #define PS_ERRORTEXT_psFits_IMAGE_NULL "The input psImage was NULL. Need a non-NULL psImage for operation to be performed." 59 #define PS_ERRORTEXT_psFits_METADATA_NULL "The input psMetadata was NULL. Need a non-NULL psMetadata for operation to be performed." 59 60 //~End 60 61 -
trunk/psLib/src/fileUtils/psFits.c
r2375 r2681 7 7 * @author Robert DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1. 1$ $Name: not supported by cvs2svn $10 * @date $Date: 2004-1 1-16 20:00:21$9 * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2004-12-10 02:50:15 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 200 200 } 201 201 202 psFitsTypepsFitsMoveExtName(psFits* fits,203 const char* extname)204 { 205 int status = 0; 206 207 if (fits == NULL) { 208 psError(PS_ERR_BAD_PARAMETER_NULL, true, 209 PS_ERRORTEXT_psFits_NULL); 210 return PS_FITS_TYPE_NONE;202 bool psFitsMoveExtName(psFits* fits, 203 const char* extname) 204 { 205 int status = 0; 206 207 if (fits == NULL) { 208 psError(PS_ERR_BAD_PARAMETER_NULL, true, 209 PS_ERRORTEXT_psFits_NULL); 210 return false; 211 211 } 212 212 … … 218 218 PS_ERRORTEXT_psFits_EXTNAME_INVALID, 219 219 extname, fits->filename, fitsErr); 220 return PS_FITS_TYPE_NONE;221 } 222 223 return psFitsGetExtType(fits);224 } 225 226 psFitsTypepsFitsMoveExtNum(psFits* fits,227 int extnum,228 bool relative)229 { 230 if (fits == NULL) { 231 psError(PS_ERR_BAD_PARAMETER_NULL, true, 232 PS_ERRORTEXT_psFits_NULL); 233 return PS_FITS_TYPE_NONE;220 return false; 221 } 222 223 return true; 224 } 225 226 bool psFitsMoveExtNum(psFits* fits, 227 int extnum, 228 bool relative) 229 { 230 if (fits == NULL) { 231 psError(PS_ERR_BAD_PARAMETER_NULL, true, 232 PS_ERRORTEXT_psFits_NULL); 233 return false; 234 234 } 235 235 … … 249 249 PS_ERRORTEXT_psFits_EXTNUM_INVALID, 250 250 extnum, fits->filename, fitsErr); 251 return PS_FITS_TYPE_NONE;252 } 253 254 return hdutype;251 return false; 252 } 253 254 return true; 255 255 } 256 256 … … 304 304 psError(PS_ERR_BAD_PARAMETER_NULL, true, 305 305 PS_ERRORTEXT_psFits_NULL); 306 return PS_FITS_TYPE_NONE;306 return 0; 307 307 } 308 308 … … 316 316 PS_ERRORTEXT_psFits_GETNUMHDUS_FAILED, 317 317 fits->filename, fitsErr); 318 return -1;318 return 0; 319 319 } 320 320 321 321 return num; 322 }323 324 bool psFitsCreateExt(psFits* fits)325 {326 if (fits == NULL) {327 psError(PS_ERR_BAD_PARAMETER_NULL, true,328 PS_ERRORTEXT_psFits_NULL);329 return false;330 }331 332 int status = 0;333 334 fits_create_hdu(fits->p_fd,&status);335 336 if ( status != 0) {337 char fitsErr[MAX_STRING_LENGTH];338 (void)fits_get_errstatus(status, fitsErr);339 psError(PS_ERR_IO, true,340 PS_ERRORTEXT_psFits_CREATE_HDU_FAILED,341 fits->filename, fitsErr);342 return false;343 }344 345 return true;346 322 } 347 323 … … 481 457 } 482 458 483 int status = 0;484 485 459 int size = psFitsGetSize(fits); 486 int position = psFitsGetExtNum(fits);487 460 488 461 for (int lcv=0; lcv < size; lcv++) { … … 502 475 } 503 476 } 477 478 return out; 504 479 } 505 480 506 481 bool psFitsWriteImage(psFits* fits, 482 const psMetadata* header, 507 483 const psImage* input, 508 int x, 509 int y, 510 int z) 484 int numZPlanes) 511 485 { 512 486 … … 526 500 527 501 int status = 0; 528 529 psFitsType fitsType = psFitsGetExtType(fits);530 531 if (fitsType != PS_FITS_TYPE_IMAGE && fitsType != PS_FITS_TYPE_ANY) {532 psError(PS_ERR_IO, true,533 PS_ERRORTEXT_psFits_NOT_IMAGE_TYPE);534 return false;535 }536 502 537 503 // determine the FITS-equivalent parameters … … 543 509 } 544 510 545 if (fitsType == PS_FITS_TYPE_ANY) { 546 int naxis = 3; 547 long naxes[3]; 548 549 naxes[0] = numCols; 550 naxes[1] = numRows; 551 naxes[2] = z; 552 553 if (z < 2) { 554 naxis = 2; 555 } 556 557 /* write the required keys to make an empty HDU be an IMAGE HDU */ 558 fits_write_imghdr(fits->p_fd, bitPix, naxis, naxes, &status); 559 if (bZero != 0) { // set the bscale/bzero 560 fits_write_key_dbl(fits->p_fd, "BZERO", bZero, 12, "Pixel Value Offset", &status); 561 fits_write_key_dbl(fits->p_fd, "BSCALE", 1.0, 12, "Pixel Value Scale", &status); 562 // don't think this is needed: fits_set_bscale(fits->p_fd, bScale, bZero, &status); 563 } 564 } 565 566 long firstPixel[3]; /* First Pixel to read */ 567 long lastPixel[3]; /* Last Pixel to read */ 568 firstPixel[0] = x + 1; 569 firstPixel[1] = y + 1; 570 firstPixel[2] = z + 1; 571 572 lastPixel[0] = firstPixel[0] + numCols - 1; 573 lastPixel[1] = firstPixel[1] + numRows - 1; 574 lastPixel[2] = z + 1; 575 576 fits_write_subset(fits->p_fd, dataType, firstPixel, lastPixel, input->data.V[0], &status); 511 int naxis = 3; 512 long naxes[3]; 513 514 naxes[0] = numCols; 515 naxes[1] = numRows; 516 naxes[2] = numZPlanes; 517 518 if (numZPlanes < 2) { 519 naxis = 2; 520 } 521 522 fits_create_img(fits->p_fd, bitPix, naxis, naxes, &status); 523 524 if (bZero != 0) { // set the bscale/bzero 525 fits_write_key_dbl(fits->p_fd, "BZERO", bZero, 12, "Pixel Value Offset", &status); 526 fits_write_key_dbl(fits->p_fd, "BSCALE", 1.0, 12, "Pixel Value Scale", &status); 527 fits_set_bscale(fits->p_fd, 1.0, bZero, &status); 528 } 529 530 // write the header, if any. 531 if (header != NULL) { 532 psFitsWriteHeader(fits, header); 533 } 534 535 long firstPixel = (numZPlanes-1)*numRows*numCols; // start write in last z-plane 536 537 if (input->parent == NULL) { // if no parent, assume that the image data is contiguous 538 fits_write_img(fits->p_fd, 539 dataType, // datatype 540 firstPixel, // writing to the first z-plane 541 numCols*numRows, // number of elements to write, i.e., the whole image 542 input->data.V[0], // the data 543 &status); 544 } else { // image data may not be contiguous; write one row at a time 545 for (int row = 0; row < numRows; row++) { 546 fits_write_img(fits->p_fd, 547 dataType, // datatype 548 firstPixel, 549 numCols, // number of elements to write, i.e., one row's worth 550 input->data.V[row],// the raw row data 551 &status); 552 firstPixel += numCols; // move to next row 553 } 554 } 577 555 578 556 if ( status != 0) { … … 589 567 } 590 568 569 bool psFitsWriteHeader(psMetadata* header, 570 psFits* fits) 571 { 572 573 if (fits == NULL) { 574 psError(PS_ERR_BAD_PARAMETER_NULL, true, 575 PS_ERRORTEXT_psFits_NULL); 576 return false; 577 } 578 579 if (header == NULL) { 580 psError(PS_ERR_BAD_PARAMETER_NULL, true, 581 PS_ERRORTEXT_psFits_METADATA_NULL); 582 return false; 583 } 584 585 586 return true; 587 } 588 591 589 psMetadata* psFitsReadTableRow(psFits* fits, 592 590 int row) 593 { 594 } 591 {} 595 592 596 593 psArray* psFitsReadTableColumn(psFits* fits, 597 594 const char* colname) 598 { 599 } 595 {} 600 596 601 597 psVector* psFitsReadTableColumnNum(psFits* fits, 602 598 const char* colname) 603 { 604 } 599 {} 605 600 606 601 607 602 psArray* psFitsReadTable(psFits* fits) 608 { 609 } 603 {} 610 604 611 605 bool psFitsWriteTable(psFits* fits, 612 606 psArray* table) 613 { 614 } 607 {} -
trunk/psLib/src/fileUtils/psFits.h
r2375 r2681 7 7 * @author Robert DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1. 1$ $Name: not supported by cvs2svn $10 * @date $Date: 2004-1 1-16 20:00:21$9 * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2004-12-10 02:50:15 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 63 63 * @return psFitsType The HDU type, or PS_FITS_TYPE_NONE if move failed. 64 64 */ 65 psFitsTypepsFitsMoveExtName(65 bool psFitsMoveExtName( 66 66 psFits* fits, ///< the psFits object to move 67 67 const char* extname ///< the extension name … … 72 72 * @return psFitsType The HDU type, or PS_FITS_TYPE_NONE if move failed. 73 73 */ 74 psFitsTypepsFitsMoveExtNum(74 bool psFitsMoveExtNum( 75 75 psFits* fits, ///< the psFits object to move 76 76 int extnum, ///< the extension number to move to (zero is primary HDU) … … 102 102 */ 103 103 int psFitsGetSize( 104 psFits* fits ///< the psFits object105 );106 107 /** Create a new extension on the end of the file of the given type. The108 * FITS file is109 *110 * @return bool true if successful, otherwise false111 */112 bool psFitsCreateExt(113 104 psFits* fits ///< the psFits object 114 105 ); … … 152 143 */ 153 144 bool psFitsWriteHeader( 154 ps Fits* fits, ///< the psFits object155 ps Metadata* out ///< the psMetadata data in which to write145 psMetadata* header, ///< the psMetadata data in which to write 146 psFits* fits ///< the psFits object 156 147 ); 157 148 … … 160 151 * @return psImage* the read image or NULL if there was an error. 161 152 */ 162 psImage* ps fitsReadImageSection(153 psImage* psFitsReadImageSection( 163 154 psImage* out, ///< a psImage to recycle. 164 155 psFits* fits, ///< the psFits object -
trunk/psLib/src/fits/psFits.c
r2375 r2681 7 7 * @author Robert DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1. 1$ $Name: not supported by cvs2svn $10 * @date $Date: 2004-1 1-16 20:00:21$9 * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2004-12-10 02:50:15 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 200 200 } 201 201 202 psFitsTypepsFitsMoveExtName(psFits* fits,203 const char* extname)204 { 205 int status = 0; 206 207 if (fits == NULL) { 208 psError(PS_ERR_BAD_PARAMETER_NULL, true, 209 PS_ERRORTEXT_psFits_NULL); 210 return PS_FITS_TYPE_NONE;202 bool psFitsMoveExtName(psFits* fits, 203 const char* extname) 204 { 205 int status = 0; 206 207 if (fits == NULL) { 208 psError(PS_ERR_BAD_PARAMETER_NULL, true, 209 PS_ERRORTEXT_psFits_NULL); 210 return false; 211 211 } 212 212 … … 218 218 PS_ERRORTEXT_psFits_EXTNAME_INVALID, 219 219 extname, fits->filename, fitsErr); 220 return PS_FITS_TYPE_NONE;221 } 222 223 return psFitsGetExtType(fits);224 } 225 226 psFitsTypepsFitsMoveExtNum(psFits* fits,227 int extnum,228 bool relative)229 { 230 if (fits == NULL) { 231 psError(PS_ERR_BAD_PARAMETER_NULL, true, 232 PS_ERRORTEXT_psFits_NULL); 233 return PS_FITS_TYPE_NONE;220 return false; 221 } 222 223 return true; 224 } 225 226 bool psFitsMoveExtNum(psFits* fits, 227 int extnum, 228 bool relative) 229 { 230 if (fits == NULL) { 231 psError(PS_ERR_BAD_PARAMETER_NULL, true, 232 PS_ERRORTEXT_psFits_NULL); 233 return false; 234 234 } 235 235 … … 249 249 PS_ERRORTEXT_psFits_EXTNUM_INVALID, 250 250 extnum, fits->filename, fitsErr); 251 return PS_FITS_TYPE_NONE;252 } 253 254 return hdutype;251 return false; 252 } 253 254 return true; 255 255 } 256 256 … … 304 304 psError(PS_ERR_BAD_PARAMETER_NULL, true, 305 305 PS_ERRORTEXT_psFits_NULL); 306 return PS_FITS_TYPE_NONE;306 return 0; 307 307 } 308 308 … … 316 316 PS_ERRORTEXT_psFits_GETNUMHDUS_FAILED, 317 317 fits->filename, fitsErr); 318 return -1;318 return 0; 319 319 } 320 320 321 321 return num; 322 }323 324 bool psFitsCreateExt(psFits* fits)325 {326 if (fits == NULL) {327 psError(PS_ERR_BAD_PARAMETER_NULL, true,328 PS_ERRORTEXT_psFits_NULL);329 return false;330 }331 332 int status = 0;333 334 fits_create_hdu(fits->p_fd,&status);335 336 if ( status != 0) {337 char fitsErr[MAX_STRING_LENGTH];338 (void)fits_get_errstatus(status, fitsErr);339 psError(PS_ERR_IO, true,340 PS_ERRORTEXT_psFits_CREATE_HDU_FAILED,341 fits->filename, fitsErr);342 return false;343 }344 345 return true;346 322 } 347 323 … … 481 457 } 482 458 483 int status = 0;484 485 459 int size = psFitsGetSize(fits); 486 int position = psFitsGetExtNum(fits);487 460 488 461 for (int lcv=0; lcv < size; lcv++) { … … 502 475 } 503 476 } 477 478 return out; 504 479 } 505 480 506 481 bool psFitsWriteImage(psFits* fits, 482 const psMetadata* header, 507 483 const psImage* input, 508 int x, 509 int y, 510 int z) 484 int numZPlanes) 511 485 { 512 486 … … 526 500 527 501 int status = 0; 528 529 psFitsType fitsType = psFitsGetExtType(fits);530 531 if (fitsType != PS_FITS_TYPE_IMAGE && fitsType != PS_FITS_TYPE_ANY) {532 psError(PS_ERR_IO, true,533 PS_ERRORTEXT_psFits_NOT_IMAGE_TYPE);534 return false;535 }536 502 537 503 // determine the FITS-equivalent parameters … … 543 509 } 544 510 545 if (fitsType == PS_FITS_TYPE_ANY) { 546 int naxis = 3; 547 long naxes[3]; 548 549 naxes[0] = numCols; 550 naxes[1] = numRows; 551 naxes[2] = z; 552 553 if (z < 2) { 554 naxis = 2; 555 } 556 557 /* write the required keys to make an empty HDU be an IMAGE HDU */ 558 fits_write_imghdr(fits->p_fd, bitPix, naxis, naxes, &status); 559 if (bZero != 0) { // set the bscale/bzero 560 fits_write_key_dbl(fits->p_fd, "BZERO", bZero, 12, "Pixel Value Offset", &status); 561 fits_write_key_dbl(fits->p_fd, "BSCALE", 1.0, 12, "Pixel Value Scale", &status); 562 // don't think this is needed: fits_set_bscale(fits->p_fd, bScale, bZero, &status); 563 } 564 } 565 566 long firstPixel[3]; /* First Pixel to read */ 567 long lastPixel[3]; /* Last Pixel to read */ 568 firstPixel[0] = x + 1; 569 firstPixel[1] = y + 1; 570 firstPixel[2] = z + 1; 571 572 lastPixel[0] = firstPixel[0] + numCols - 1; 573 lastPixel[1] = firstPixel[1] + numRows - 1; 574 lastPixel[2] = z + 1; 575 576 fits_write_subset(fits->p_fd, dataType, firstPixel, lastPixel, input->data.V[0], &status); 511 int naxis = 3; 512 long naxes[3]; 513 514 naxes[0] = numCols; 515 naxes[1] = numRows; 516 naxes[2] = numZPlanes; 517 518 if (numZPlanes < 2) { 519 naxis = 2; 520 } 521 522 fits_create_img(fits->p_fd, bitPix, naxis, naxes, &status); 523 524 if (bZero != 0) { // set the bscale/bzero 525 fits_write_key_dbl(fits->p_fd, "BZERO", bZero, 12, "Pixel Value Offset", &status); 526 fits_write_key_dbl(fits->p_fd, "BSCALE", 1.0, 12, "Pixel Value Scale", &status); 527 fits_set_bscale(fits->p_fd, 1.0, bZero, &status); 528 } 529 530 // write the header, if any. 531 if (header != NULL) { 532 psFitsWriteHeader(fits, header); 533 } 534 535 long firstPixel = (numZPlanes-1)*numRows*numCols; // start write in last z-plane 536 537 if (input->parent == NULL) { // if no parent, assume that the image data is contiguous 538 fits_write_img(fits->p_fd, 539 dataType, // datatype 540 firstPixel, // writing to the first z-plane 541 numCols*numRows, // number of elements to write, i.e., the whole image 542 input->data.V[0], // the data 543 &status); 544 } else { // image data may not be contiguous; write one row at a time 545 for (int row = 0; row < numRows; row++) { 546 fits_write_img(fits->p_fd, 547 dataType, // datatype 548 firstPixel, 549 numCols, // number of elements to write, i.e., one row's worth 550 input->data.V[row],// the raw row data 551 &status); 552 firstPixel += numCols; // move to next row 553 } 554 } 577 555 578 556 if ( status != 0) { … … 589 567 } 590 568 569 bool psFitsWriteHeader(psMetadata* header, 570 psFits* fits) 571 { 572 573 if (fits == NULL) { 574 psError(PS_ERR_BAD_PARAMETER_NULL, true, 575 PS_ERRORTEXT_psFits_NULL); 576 return false; 577 } 578 579 if (header == NULL) { 580 psError(PS_ERR_BAD_PARAMETER_NULL, true, 581 PS_ERRORTEXT_psFits_METADATA_NULL); 582 return false; 583 } 584 585 586 return true; 587 } 588 591 589 psMetadata* psFitsReadTableRow(psFits* fits, 592 590 int row) 593 { 594 } 591 {} 595 592 596 593 psArray* psFitsReadTableColumn(psFits* fits, 597 594 const char* colname) 598 { 599 } 595 {} 600 596 601 597 psVector* psFitsReadTableColumnNum(psFits* fits, 602 598 const char* colname) 603 { 604 } 599 {} 605 600 606 601 607 602 psArray* psFitsReadTable(psFits* fits) 608 { 609 } 603 {} 610 604 611 605 bool psFitsWriteTable(psFits* fits, 612 606 psArray* table) 613 { 614 } 607 {} -
trunk/psLib/src/fits/psFits.h
r2375 r2681 7 7 * @author Robert DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1. 1$ $Name: not supported by cvs2svn $10 * @date $Date: 2004-1 1-16 20:00:21$9 * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2004-12-10 02:50:15 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 63 63 * @return psFitsType The HDU type, or PS_FITS_TYPE_NONE if move failed. 64 64 */ 65 psFitsTypepsFitsMoveExtName(65 bool psFitsMoveExtName( 66 66 psFits* fits, ///< the psFits object to move 67 67 const char* extname ///< the extension name … … 72 72 * @return psFitsType The HDU type, or PS_FITS_TYPE_NONE if move failed. 73 73 */ 74 psFitsTypepsFitsMoveExtNum(74 bool psFitsMoveExtNum( 75 75 psFits* fits, ///< the psFits object to move 76 76 int extnum, ///< the extension number to move to (zero is primary HDU) … … 102 102 */ 103 103 int psFitsGetSize( 104 psFits* fits ///< the psFits object105 );106 107 /** Create a new extension on the end of the file of the given type. The108 * FITS file is109 *110 * @return bool true if successful, otherwise false111 */112 bool psFitsCreateExt(113 104 psFits* fits ///< the psFits object 114 105 ); … … 152 143 */ 153 144 bool psFitsWriteHeader( 154 ps Fits* fits, ///< the psFits object155 ps Metadata* out ///< the psMetadata data in which to write145 psMetadata* header, ///< the psMetadata data in which to write 146 psFits* fits ///< the psFits object 156 147 ); 157 148 … … 160 151 * @return psImage* the read image or NULL if there was an error. 161 152 */ 162 psImage* ps fitsReadImageSection(153 psImage* psFitsReadImageSection( 163 154 psImage* out, ///< a psImage to recycle. 164 155 psFits* fits, ///< the psFits object -
trunk/psLib/src/sys/psErrorCodes.c
r2273 r2681 7 7 * @author Robert DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1.1 2$ $Name: not supported by cvs2svn $10 * @date $Date: 2004-1 1-04 01:05:00$9 * @version $Revision: 1.13 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2004-12-10 02:50:15 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 76 76 77 77 // search dynamic list of error descriptions before giving up. 78 desc = (psErrorDescription*)psListGet(dynamicErrorCodes,PS_LIST_HEAD);79 while ( desc!= NULL) {78 psListIterator* iter = psListIteratorAlloc(dynamicErrorCodes,PS_LIST_HEAD); 79 while ((desc = (psErrorDescription*)psListGetNext(iter)) != NULL) { 80 80 if (desc->code == code) { 81 81 return desc; 82 82 } 83 desc = (psErrorDescription*)psListGetNext(dynamicErrorCodes);84 83 } 85 84 } … … 178 177 } 179 178 180 return psListRemove (dynamicErrorCodes,PS_LIST_UNKNOWN,(psPtr)desc);179 return psListRemoveData(dynamicErrorCodes,(psPtr)desc); 181 180 } -
trunk/psLib/src/sysUtils/psErrorCodes.c
r2273 r2681 7 7 * @author Robert DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1.1 2$ $Name: not supported by cvs2svn $10 * @date $Date: 2004-1 1-04 01:05:00$9 * @version $Revision: 1.13 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2004-12-10 02:50:15 $ 11 11 * 12 12 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 76 76 77 77 // search dynamic list of error descriptions before giving up. 78 desc = (psErrorDescription*)psListGet(dynamicErrorCodes,PS_LIST_HEAD);79 while ( desc!= NULL) {78 psListIterator* iter = psListIteratorAlloc(dynamicErrorCodes,PS_LIST_HEAD); 79 while ((desc = (psErrorDescription*)psListGetNext(iter)) != NULL) { 80 80 if (desc->code == code) { 81 81 return desc; 82 82 } 83 desc = (psErrorDescription*)psListGetNext(dynamicErrorCodes);84 83 } 85 84 } … … 178 177 } 179 178 180 return psListRemove (dynamicErrorCodes,PS_LIST_UNKNOWN,(psPtr)desc);179 return psListRemoveData(dynamicErrorCodes,(psPtr)desc); 181 180 } -
trunk/psLib/src/types/psList.c
r2375 r2681 6 6 * @author Robert Daniel DeSonia, MHPCC 7 7 * 8 * @version $Revision: 1.2 2$ $Name: not supported by cvs2svn $9 * @date $Date: 2004-1 1-16 20:00:20$8 * @version $Revision: 1.23 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2004-12-10 02:50:14 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 29 29 30 30 // private functions. 31 static psListElem* listGetIterator(psList* list);32 static psS32 listGetIteratorIndex(psList* list);33 static void listSetIterator(psList* list, psS32 where, psBool lockList);34 31 static void listFree(psList* list); 35 36 psList* psListAlloc(psPtr data) 37 { 38 psList* list = psAlloc(sizeof(psList)); 39 40 p_psMemSetDeallocator(list, (psFreeFcn) listFree); 41 42 list->size = 0; 43 list->head = list->tail = NULL; 44 list->p_iter = ITER_INIT_HEAD; 45 list->p_iterIndex = PS_LIST_HEAD; 46 47 pthread_mutex_init(&(list->lock), NULL) 48 ; 49 50 if (data != NULL) { 51 psListAdd(list, PS_LIST_TAIL, data); 52 } 53 54 return list; 55 } 32 static void listIteratorFree(psListIterator* iter); 33 static psBool listIteratorRemove(psListIterator* iterator); 56 34 57 35 static void listFree(psList* list) … … 64 42 ; 65 43 44 psFree(list->iterators); 45 66 46 for (psListElem* ptr = list->head; ptr != NULL;) { 67 47 psListElem* next = ptr->next; … … 81 61 } 82 62 83 psBool psListAdd(psList* list, psS32 location, psPtr data) 84 { 85 psListElem* position; 86 psListElem* elem; 87 psS32 cursorIndex = 0; 88 89 if (list == NULL) { 90 return false; 91 } 92 93 if (data == NULL) { 94 return false; 95 } 96 97 if (location <= PS_LIST_UNKNOWN) { 98 // / XXX What is the better way to communicate this failure to the caller? 99 psLogMsg(__func__, PS_LOG_WARN, "The given insert location (%i) for psListAdd is invalid.", location); 100 return false; 101 } 102 103 elem = psAlloc(sizeof(psListElem)); 63 static void listIteratorFree(psListIterator* iter) 64 { 65 if (iter == NULL) { 66 return; 67 } 68 69 // remove this iterator from the parent list 70 psArrayRemove(iter->list->iterators,iter); 71 72 } 73 74 static psBool listIteratorRemove(psListIterator* iterator) 75 { 76 if (iterator == NULL) { 77 return false; 78 } 79 80 psListElem* elem = iterator->cursor; 81 psList* list = iterator->list; 82 int index = iterator->index; 104 83 105 84 pthread_mutex_lock(&list->lock) 106 85 ; 107 86 108 if (location > 0 && location > list->size) { 109 psLogMsg(__func__, PS_LOG_WARN, 110 "Invalid index %d (only %d elements in psList); assuming tail.", location, list->size); 111 location = PS_LIST_TAIL; 112 } 113 114 if (location == PS_LIST_TAIL || list->size == 0) { 115 // insert the element at the end of the list 116 elem->prev = list->tail; 117 elem->next = NULL; 118 119 if (list->tail != NULL) { 120 list->tail->next = elem; 121 } 122 123 if (list->head == NULL) { 124 list->head = elem; 125 } 126 list->tail = elem; 127 128 list->size++; 129 list->p_iter = elem; 130 list->p_iterIndex = list->size - 1; 131 } else { 132 // move ourselves to the given position 133 listSetIterator(list, location, false); 134 position = listGetIterator(list); 135 cursorIndex = listGetIteratorIndex(list); 136 137 if (position == NULL) { 138 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 139 "Failed to move cursor to specified location (%d)", location); 140 position = list->head; // since we no list->size != 0, this must be non-NULL 141 } 142 // insert our new element in front of the given position 143 elem->prev = position->prev; 144 elem->next = position; 145 position->prev = elem; 146 147 if (elem->prev == NULL) { // must be front of list 148 list->head = elem; 149 } else { 150 elem->prev->next = elem; 151 } 152 153 list->size++; 154 list->p_iter = elem; 155 list->p_iterIndex = cursorIndex; 156 } 157 158 elem->data = psMemIncrRefCounter(data); 159 160 pthread_mutex_unlock(&list->lock) 161 ; 162 163 return true; 164 } 165 166 167 /* 168 * Remove an element from a list 169 */ 170 psBool psListRemove(psList* list, psS32 location, psPtr data) 171 { 172 psListElem* elem = NULL; // element to remove 173 psS32 cursorIndex = 0; 174 175 if (list == NULL) { 176 psError(PS_ERR_BAD_PARAMETER_NULL, true, "list parameter found to be NULL."); 177 return false; 178 } 179 // get exclusive access to list so that other threads will not get in the way. 180 pthread_mutex_lock(&list->lock) 181 ; 182 183 if (location == PS_LIST_UNKNOWN) { 184 // search list for the data item. 185 186 psS32 i = 0; // index 187 188 for (psListElem* ptr = list->head; ptr != NULL; ptr = ptr->next) { 189 if (ptr->data == data) { 190 location = i; 191 break; 192 } 193 i++; 194 } 195 196 if (location == PS_LIST_UNKNOWN) { 197 psError(PS_ERR_BAD_PARAMETER_VALUE, true, "Failed to find item in given psList."); 198 pthread_mutex_unlock(&list->lock) 199 ; 200 return false; 201 } 202 } 203 // position the list's cursor to the desired location 204 listSetIterator(list, location, false); 205 elem = listGetIterator(list); 206 cursorIndex = listGetIteratorIndex(list); 207 208 if (elem == NULL) { 209 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 210 "Couldn't position to given index (%d) to remove element from list.", location); 211 pthread_mutex_unlock(&list->lock) 212 ; 213 return false; 214 } 215 216 list->size--; 217 218 if (elem->prev == NULL) { // head of list? 87 if (elem == list->head) { // head of list? 219 88 list->head = elem->next; 220 89 } else { … … 222 91 } 223 92 224 if (elem ->next == NULL) {// tail of list?93 if (elem == list->tail) { // tail of list? 225 94 list->tail = elem->prev; 226 227 // removed tail, so iter should be the last element of list to keep it valid 228 if (list->size > 0) { 229 list->p_iter = list->tail; 230 list->p_iterIndex = list->size - 1; 95 } else { 96 elem->next->prev = elem->prev; 97 } 98 99 psArray* iterators = list->iterators; 100 for (int i = 0; i < iterators->n; i++) { 101 psListIterator* iter = (psListIterator*) iterators->data[i]; 102 if (iter->cursor == elem) { 103 iter->cursor = NULL; 104 } else if (iter->index > index) { 105 iter->index--; 106 } 107 } 108 109 list->size--; 110 111 pthread_mutex_unlock(&list->lock) 112 ; 113 114 // OK, delete orphaned list element and its data 115 psFree(elem->data); 116 psFree(elem); 117 118 return true; 119 } 120 121 psList* psListAlloc(psPtr data) 122 { 123 psList* list = psAlloc(sizeof(psList)); 124 125 p_psMemSetDeallocator(list, (psFreeFcn) listFree); 126 127 list->size = 0; 128 list->head = list->tail = NULL; 129 list->iterators = psArrayAlloc(16); 130 131 // create a default iterator 132 list->iterators->data[0] = psListIteratorAlloc(list,PS_LIST_HEAD); 133 list->iterators->n = 1; 134 135 pthread_mutex_init(&(list->lock), NULL) 136 ; 137 138 if (data != NULL) { 139 psListAdd(list, PS_LIST_TAIL, data); 140 } 141 142 return list; 143 } 144 145 psListIterator* psListIteratorAlloc(psList* list, int location) 146 { 147 psListIterator* iter = psAlloc(sizeof(psListIterator)); 148 149 p_psMemSetDeallocator(iter, (psFreeFcn) listIteratorFree); 150 151 // initialize the attributes 152 iter->list = list; 153 iter->cursor = NULL; 154 iter->index = 0; 155 iter->offEnd = false; 156 157 // add to the list's array of iterators 158 psArray* listIterators = list->iterators; 159 int num = listIterators->n; 160 if ( num >= listIterators->nalloc) { 161 // need to resize the array to make more room for another iterator. 162 list->iterators = psArrayRealloc(listIterators,listIterators->nalloc*2); 163 listIterators = list->iterators; 164 } 165 listIterators->data[num] = iter; 166 listIterators->n = num+1; 167 168 if (! psListIteratorSet(iter,location)) { 169 psFree(iter); 170 iter = NULL; 171 } 172 173 return iter; 174 } 175 176 psBool psListIteratorSet(psListIterator* iterator, 177 int location) 178 { 179 if (iterator == NULL) { 180 return false; 181 } 182 183 psList* list = iterator->list; 184 185 if (location >= list->size) { 186 psLogMsg(__func__, PS_LOG_WARN, 187 "Specified index, %d, is beyond the end of the psList, which " 188 "has only %d elements. Assuming tail.", 189 location, list->size); 190 location = PS_LIST_TAIL; 191 } 192 193 if (location == PS_LIST_TAIL) { 194 iterator->cursor = list->tail; 195 iterator->index = list->size - 1; 196 iterator->offEnd = false; 197 return true; 198 } 199 200 if (location <= 0) { // Invalid index 201 return false; 202 } 203 204 205 psListElem* cursor = iterator->cursor; 206 int index = iterator->index; 207 if (cursor == NULL) { // set the cursor to the head if it is NULL 208 if (location > list->size/2) { // closer to tail or head? 209 cursor = list->tail; 210 index = list->size - 1; 231 211 } else { 232 list->p_iter = ITER_INIT_TAIL; 212 cursor = list->head; 213 index = 0; 214 } 215 } 216 217 if (location < index) { 218 psS32 diff = index - location; 219 220 for (psS32 count = 0; count < diff; count++) { 221 cursor = cursor->prev; // shouldn't need to check for NULL 233 222 } 234 223 } else { 235 elem->next->prev = elem->prev; 236 list->p_iter = elem->next; 237 list->p_iterIndex = cursorIndex; 224 psS32 diff = location - index; 225 226 for (psS32 count = 0; count < diff; count++) { 227 cursor = cursor->next; // shouldn't need to check for NULL 228 } 229 } 230 iterator->cursor = cursor; 231 iterator->index = location; 232 iterator->offEnd = false; 233 234 return true; 235 } 236 237 psBool psListAdd(psList* list, psS32 location, psPtr data) 238 { 239 240 if (list == NULL) { 241 psError(PS_ERR_BAD_PARAMETER_NULL, true, 242 PS_ERRORTEXT_psList_LIST_NULL); 243 return false; 244 } 245 246 if (data == NULL) { 247 psError(PS_ERR_BAD_PARAMETER_NULL, true, 248 PS_ERRORTEXT_psList_DATA_NULL); 249 return false; 250 } 251 252 // move ourselves to the given position 253 if (list->iterators->n < 1 || 254 ! psListIteratorSet(list->iterators->data[0],location)) { 255 // oh no, I can't find where to add this! 256 psError(PS_ERR_UNKNOWN, false, 257 PS_ERRORTEXT_psList_LOCATION_INVALID, 258 location); 259 return false; 260 } 261 262 if (location == PS_LIST_TAIL) { 263 // insert the element at the end of the list 264 return psListAddAfter(list->iterators->data[0],data); 265 } else { 266 return psListAddBefore(list->iterators->data[0],data); 267 } 268 } 269 270 bool psListAddAfter(psListIterator* iterator, void* data) 271 { 272 if (data == NULL) { 273 psError(PS_ERR_BAD_PARAMETER_NULL, true, 274 PS_ERRORTEXT_psList_DATA_NULL); 275 return false; 276 } 277 278 if (iterator == NULL) { 279 psError(PS_ERR_BAD_PARAMETER_NULL, true, 280 PS_ERRORTEXT_psList_ITERATOR_NULL); 281 return false; 282 } 283 284 psListElem* cursor = iterator->cursor; 285 286 if (cursor == NULL) { 287 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 288 PS_ERRORTEXT_psList_ITERATOR_INVALID); 289 return false; 290 } 291 292 psList* list = iterator->list; 293 psListElem* elem = psAlloc(sizeof(psListElem)); 294 295 pthread_mutex_lock(&list->lock) 296 ; 297 298 // set the new list element's attributes 299 elem->prev = cursor; 300 elem->next = cursor->next; 301 elem->data = data; 302 303 cursor->next = elem; 304 list->size++; 305 306 if (cursor == list->tail) { 307 list->tail = elem; 308 } 309 310 psArray* iterators = list->iterators; 311 int index = iterator->index; 312 for (int i = 0; i < iterators->n; i++) { 313 psListIterator* iter = (psListIterator*) iterators->data[i]; 314 if (iter->index > index) { 315 iter->index++; 316 } 238 317 } 239 318 … … 241 320 ; 242 321 243 // OK, delete list element and its data244 psFree(elem->data);245 psFree(elem);246 247 322 return true; 248 323 } 249 324 250 void psListSetIterator(psList* list, psS32 where) 251 { 252 listSetIterator(list, where, true); 253 } 254 255 static void listSetIterator(psList* list, psS32 where, psBool lockList) 256 { 257 psListElem* cursor; 258 psS32 position; 259 325 bool psListAddBefore(psListIterator* iterator, void* data) 326 { 327 if (data == NULL) { 328 psError(PS_ERR_BAD_PARAMETER_NULL, true, 329 PS_ERRORTEXT_psList_DATA_NULL); 330 return false; 331 } 332 333 if (iterator == NULL) { 334 psError(PS_ERR_BAD_PARAMETER_NULL, true, 335 PS_ERRORTEXT_psList_ITERATOR_NULL); 336 return false; 337 } 338 339 psListElem* cursor = iterator->cursor; 340 341 if (cursor == NULL) { 342 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 343 PS_ERRORTEXT_psList_ITERATOR_INVALID); 344 return false; 345 } 346 347 psList* list = iterator->list; 348 psListElem* elem = psAlloc(sizeof(psListElem)); 349 350 pthread_mutex_lock(&list->lock) 351 ; 352 353 // set the new list element's attributes 354 elem->prev = cursor->prev; 355 elem->next = cursor; 356 elem->data = data; 357 358 cursor->prev = elem; 359 list->size++; 360 361 if (cursor == list->head) { 362 list->head = elem; 363 } 364 365 psArray* iterators = list->iterators; 366 int index = iterator->index; 367 for (int i = 0; i < iterators->n; i++) { 368 psListIterator* iter = (psListIterator*) iterators->data[i]; 369 if (iter->index >= index) { 370 iter->index++; 371 } 372 } 373 374 pthread_mutex_unlock(&list->lock) 375 ; 376 377 return true; 378 } 379 380 psBool psListRemove(psList* list, 381 psS32 location) 382 { 260 383 if (list == NULL) { 261 384 psError(PS_ERR_BAD_PARAMETER_NULL, true, 262 "Unexpected null pointer for psList parameter."); 263 return; 264 } 265 266 if (where == PS_LIST_CURRENT) { 267 return; 268 } 269 270 if (lockList) { 271 pthread_mutex_lock(&list->lock) 272 ; 273 // don't want the list changing on us while we move about 274 } 275 276 if (where >= (psS32)list->size) { 277 list->p_iter = NULL; 278 if (lockList) { 279 pthread_mutex_unlock(&list->lock) 280 ; 281 } 282 return; 283 } 284 285 switch (where) { 286 case PS_LIST_HEAD: 287 list->p_iter = ITER_INIT_HEAD; 288 break; 289 290 case PS_LIST_TAIL: 291 list->p_iter = ITER_INIT_TAIL; 292 break; 293 294 case PS_LIST_PREVIOUS: 295 cursor = listGetIterator(list); 296 position = listGetIteratorIndex(list); 297 298 if (cursor != NULL) { 299 list->p_iter = cursor->prev; 300 list->p_iterIndex = position - 1; 301 } 302 break; 303 304 case PS_LIST_NEXT: 305 cursor = listGetIterator(list); 306 position = listGetIteratorIndex(list); 307 308 if (cursor != NULL) { 309 list->p_iter = cursor->next; 310 list->p_iterIndex = position + 1; 311 } 312 break; 313 314 case PS_LIST_CURRENT: 315 break; 316 317 default: 318 if (where <= PS_LIST_HEAD) { // bascially same as PS_LIST_UNKNOWN above 319 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 320 "Can't move to an unknown position. Not moving the iterator position."); 321 } else { 322 cursor = listGetIterator(list); 323 if (cursor == NULL) { // reset the iterator if it is invalid 324 list->p_iter = ITER_INIT_HEAD; 325 list->p_iterIndex = 0; 326 } 327 328 psS32 position = listGetIteratorIndex(list); 329 330 if (where < position) { 331 psS32 diff = position - where; 332 333 for (psS32 count = 0; count < diff; count++) { 334 listSetIterator(list, PS_LIST_PREVIOUS, false); 335 } 336 } else { 337 psS32 diff = where - position; 338 339 for (psS32 count = 0; count < diff; count++) { 340 listSetIterator(list, PS_LIST_NEXT, false); 341 } 342 } 343 } 344 break; 345 } 346 347 if (lockList) { 348 pthread_mutex_unlock(&list->lock) 349 ; 350 } 351 } 352 353 psListElem* listGetIterator(psList* list) 385 PS_ERRORTEXT_psList_LIST_NULL); 386 return false; 387 } 388 389 // move ourselves to the given position 390 psListIterator* defaultIterator = list->iterators->data[0]; 391 if (list->iterators->n < 1 || 392 ! psListIteratorSet(defaultIterator,location)) { 393 // oh no, I can't find where to add this! 394 psError(PS_ERR_UNKNOWN, false, 395 PS_ERRORTEXT_psList_LOCATION_INVALID, 396 location); 397 return false; 398 } 399 400 return listIteratorRemove(defaultIterator); 401 } 402 403 psBool psListRemoveData(psList* list, 404 psPtr data) 354 405 { 355 406 if (list == NULL) { 407 psError(PS_ERR_BAD_PARAMETER_NULL, true, 408 PS_ERRORTEXT_psList_LIST_NULL); 409 return false; 410 } 411 412 if (data == NULL) { 413 psError(PS_ERR_BAD_PARAMETER_NULL, true, 414 PS_ERRORTEXT_psList_DATA_NULL); 415 return false; 416 } 417 418 psListIterator* iterator = list->iterators->data[0]; 419 psListIteratorSet(iterator,PS_LIST_HEAD); 420 421 psPtr iteratorData = psListGetNext(iterator); 422 while (iteratorData != NULL && iteratorData != data) { 423 iteratorData = psListGetNext(iterator); 424 } 425 426 if (iteratorData == NULL) { 427 psError(PS_ERR_BAD_PARAMETER_NULL, true, 428 PS_ERRORTEXT_psList_DATA_NOT_FOUND); 429 return false; 430 } 431 432 return listIteratorRemove(iterator); 433 } 434 435 psPtr psListGet(psList* list, psS32 location) 436 { 437 psListIterator* iterator = list->iterators->data[0]; 438 439 if (! psListIteratorSet(iterator,location)) { 440 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 441 PS_ERRORTEXT_psList_LOCATION_INVALID, 442 location); 356 443 return NULL; 357 444 } 358 445 359 if (list->p_iter == ITER_INIT_HEAD) { 360 return list->head; 361 } else if (list->p_iter == ITER_INIT_TAIL) { 362 return list->tail; 363 } else { 364 return list->p_iter; 365 } 366 } 367 368 psS32 listGetIteratorIndex(psList* list) 369 { 370 if (list->p_iter == ITER_INIT_HEAD) { 371 return 0; 372 } else if (list->p_iter == ITER_INIT_TAIL) { 373 return list->size - 1; 374 } else { 375 return list->p_iterIndex; 376 } 377 } 378 379 psPtr psListGet(psList* list, psS32 location) 380 { 381 psListElem* element; 382 383 psListSetIterator(list, location); 384 element = listGetIterator(list); 385 386 if (element == NULL) { 387 return NULL; 388 } else { 389 return element->data; 390 } 446 return iterator->cursor->data; 391 447 } 392 448 … … 394 450 * and now return the previous/next element of the list 395 451 */ 396 psPtr psListGetNext(psList* list) 397 { 398 return psListGet(list, PS_LIST_NEXT); 399 } 400 401 psPtr psListGetPrevious(psList* list) 402 { 403 return psListGet(list, PS_LIST_PREVIOUS); 404 } 405 406 psPtr psListGetCurrent(psList* list) 407 { 408 return psListGet(list, PS_LIST_CURRENT); 452 psPtr psListGetNext(psListIterator* iterator) 453 { 454 if (iterator == NULL || iterator->cursor == NULL) { 455 return NULL; 456 } 457 458 psPtr data = iterator->cursor->data; 459 460 iterator->cursor = iterator->cursor->next; 461 iterator->index++; 462 if (iterator->cursor == NULL) { 463 iterator->offEnd = true; 464 } 465 466 return data; 467 } 468 469 psPtr psListGetPrevious(psListIterator* iterator) 470 { 471 if (iterator == NULL || iterator->cursor == NULL) { 472 return NULL; 473 } 474 475 psPtr data = iterator->cursor->data; 476 477 iterator->cursor = iterator->cursor->prev; 478 iterator->index--; 479 480 return data; 409 481 } 410 482 … … 467 539 // convert to indexable vector for use by qsort. 468 540 arr = psListToArray(list); 541 psArray* iterators = psMemIncrRefCounter(list->iterators); 469 542 psFree(list); 470 543 … … 473 546 // convert back to linked list 474 547 list = psArrayToList(arr); 548 psFree(list->iterators); 549 list->iterators = iterators; 475 550 psFree(arr); 476 551 552 // sorting should invalidate all iterator positions. 553 for (int i = 0; i < iterators->n; i++) { 554 ((psListIterator*)iterators->data[i])->cursor = NULL; 555 } 556 477 557 return list; 478 558 } -
trunk/psLib/src/types/psList.h
r2375 r2681 10 10 * @ingroup LinkedList 11 11 * 12 * @version $Revision: 1.1 7$ $Name: not supported by cvs2svn $13 * @date $Date: 2004-1 1-16 20:00:20$12 * @version $Revision: 1.18 $ $Name: not supported by cvs2svn $ 13 * @date $Date: 2004-12-10 02:50:14 $ 14 14 * 15 15 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 34 34 PS_LIST_HEAD = 0, ///< at head 35 35 PS_LIST_TAIL = -1, ///< at tail 36 PS_LIST_PREVIOUS = -2, ///< previous element37 PS_LIST_CURRENT = -3, ///< current element38 PS_LIST_NEXT = -4, ///< next element39 PS_LIST_UNKNOWN = -5 ///< unknown position (should be last in enum list)40 36 }; 41 37 … … 59 55 psListElem* head; ///< first element on list (may be NULL) 60 56 psListElem* tail; ///< last element on list (may be NULL) 61 psArray* iterators; ///< iterators 57 psArray* iterators; 58 ///< array of all iterators associated with this list. First iterator is 59 ///< used internally to improve performance when using indexed access, all 60 ///< others are user-level iterators created by psListIteratorAlloc. 61 62 62 pthread_mutex_t lock; ///< mutex to lock a node during changes 63 psListElem* p_iter; ///< internal cursor for increased performance index accessing64 int p_iterIndex; ///< index position of the iter.65 63 } 66 64 psList; … … 77 75 { 78 76 psList* list; ///< List iterator to works on 79 psU32 number; ///< List iterator number80 77 psListElem* cursor; ///< current cursor position 78 int index; ///< the index number in the list 81 79 bool offEnd; ///< Iterator off the end? 82 80 } … … 94 92 ; 95 93 94 /** Creates a psListIterator object and associates it with a psList. 95 * 96 * @return psListIterator* A new psListIterator object. 97 */ 98 psListIterator* psListIteratorAlloc( 99 psList* list, ///< the psList to iterate with 100 int location ///< the initial starting point. 101 ///< This can be a numeric index, PS_LIST_HEAD, or PS_LIST_TAIL. 102 ); 103 104 /** Set the iterator of the list to a given position. If location is invalid the 105 * iterator position is not changed. 106 * 107 * @return psBool TRUE if iterator successfully set, otherwise FALSE. 108 */ 109 psBool psListIteratorSet( 110 psListIterator* iterator, ///< list iterator 111 int location ///< index number, PS_LIST_HEAD, or PS_LIST_TAIL 112 ); 113 96 114 /** Adds an element to a psList at position given. 97 115 * 98 * @return psList* The psList with added data item. If list parameter is 99 * NULL, the return value will also be NULL. 116 * @return psBool TRUE if item was successfully added, otherwise FALSE. 100 117 */ 101 118 psBool psListAdd( 102 psList* restrict list, ///< list to add to (if NULL, nothing is done)103 psS32 location, ///< index, PS_LIST_HEAD, PS_LIST_TAIL, or numbered location.119 psList* restrict list, ///< list to add item to 120 psS32 location, ///< index, PS_LIST_HEAD, PS_LIST_TAIL, or numbered location. 104 121 psPtr data ///< data item to add. If NULL, list is not modified. 105 122 ); 106 123 107 /** Remove an item from a list. If location parameter is PS_LIST_UNKNOWN, 124 /** Adds an data item to a psList at position just after the list position given 125 * 126 * @return psBool TRUE if item was successfully added, otherwise FALSE. 127 */ 128 psBool psListAddAfter( 129 psListIterator* list, ///< list position to add item to 130 psPtr data ///< data item to add. If NULL, list is not modified. 131 ); 132 133 /** Adds an data item to a psList at position just before the list position given 134 * 135 * @return psBool TRUE if item was successfully added, otherwise FALSE. 136 */ 137 psBool psListAddBefore( 138 psListIterator* list, ///< list position to add item to 139 psPtr data ///< data item to add. If NULL, list is not modified. 140 ); 141 142 /** Remove an item at the specified location from a list. 108 143 * 109 144 * @return psBool TRUE if element is successfully removed, otherwise FALSE. 110 145 */ 111 146 psBool psListRemove( 112 psList* restrict list, 113 ///< list to remove element from 114 psS32 location, 115 ///< index of item, or PS_LIST_UNKNOWN, PS_LIST_NEXT, PS_LIST_PREV, or numbered location. 116 psPtr data 117 ///< if location is PS_LIST_UNKNOWN, data item to find and remove, otherwise this is ignored. 147 psList* restrict list, ///< list to remove element from 148 psS32 location ///< index of item 149 ); 150 151 /** Remove an item from a list. 152 * 153 * @return psBool TRUE if element is successfully removed, otherwise FALSE. 154 */ 155 psBool psListRemoveData( 156 psList* restrict list, ///< list to remove element from 157 psPtr data ///< data item to find and remove 118 158 ); 119 159 … … 127 167 psPtr psListGet( 128 168 psList* restrict list, ///< list to retrieve element from 129 psS32 location ///< index number, or PS_LIST_NEXT, PS_LIST_PREV, PS_LIST_UNKNOWN 130 ); 131 132 /** Set the iterator of the list to a given position. If location is invalid the 133 * iterator position is not changed. 134 * 135 */ 136 void psListSetIterator( 137 psList* restrict list, ///< list to retrieve element from 138 psS32 location ///< index number, PS_LIST_HEAD, or PS_LIST_TAIL 139 ); 140 141 /** Get next element relative to the iterator. This also moves the iterator to 142 * the next list position. 143 * 144 * @return psPtr the data item next on the list or NULL if the iterator 145 * is already pointing to the last element or the list 146 * parameter was NULL. 169 psS32 location ///< index number, PS_LIST_HEAD, or PS_LIST_TAIL 170 ); 171 172 /** Position the specified iterator to the next item in list. 173 * 174 * @return psPtr the data item at the new iterator position or NULL if the 175 * iterator goes past the end of the list. 147 176 */ 148 177 psPtr psListGetNext( 149 psList* restrict list ///< list to retrieve element from 150 ); 151 152 /** Get current element according to the psList's iterator cursor. This does 153 * not move the iterator location. 154 * 155 * @return psPtr the data item cooresponding to current iterator 156 * cursor position of the list, or NULL if either the 157 * iterator is not valid or list parameter was NULL. 158 */ 159 psPtr psListGetCurrent( 160 psList* restrict list ///< list to retrieve element from 161 ); 162 163 /** Get previous element relative to list's iterator. This also moves the 164 * iterator to the previous list position. 165 * 166 * @return psPtr the data item previous on the list or NULL if the iterator 167 * is already pointing to the first element or the list 168 * parameter was NULL. 178 psListIterator* restrict iterator ///< iterator to move 179 ); 180 181 /** Position the specified iterator to the previous item in list. 182 * 183 * @return psPtr the data item at the new iterator position or NULL if the 184 * iterator goes past the beginning of the list. 169 185 */ 170 186 psPtr psListGetPrevious( 171 psList * restrict list ///< list to retrieve element from187 psListIterator* restrict iterator ///< iterator to move 172 188 ); 173 189 -
trunk/psLib/src/types/psMetadata.c
r2659 r2681 12 12 * @author Ross Harman, MHPCC 13 13 * 14 * @version $Revision: 1.4 2$ $Name: not supported by cvs2svn $15 * @date $Date: 2004-12- 07 23:27:25$14 * @version $Revision: 1.43 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2004-12-10 02:50:14 $ 16 16 * 17 17 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 352 352 { 353 353 psList* mdList = NULL; 354 psList* entryList = NULL;355 354 psHash* mdTable = NULL; 356 355 psMetadataItem* entry = NULL; 357 psMetadataItem* entryChild = NULL;358 356 359 357 … … 375 373 } 376 374 377 if (entry->type == PS_META_LIST) {378 379 // Table entry has children. Entry and children must be removed from metadata collection's list380 psListSetIterator(entryList, PS_LIST_HEAD);381 entryChild = psListGetCurrent(entryList);382 while(entryChild != NULL) {383 if (!psListRemove(mdList, PS_LIST_UNKNOWN, entryChild)) {384 psError(PS_ERR_UNKNOWN, false, PS_ERRORTEXT_psMetadata_REMOVE_LIST_FAILED, key);385 return false;386 }387 entryChild = psListGetNext(entryList);388 }389 } else {390 391 // Table entry has no children. Remove entry from metadata collection's list392 if (!psListRemove(mdList, PS_LIST_UNKNOWN, entry)) {393 psError(PS_ERR_UNKNOWN, false, PS_ERRORTEXT_psMetadata_REMOVE_LIST_FAILED, key);394 return false;395 }396 }397 // Remove entry from metadata collection's table398 if (!psHashRemove(mdTable, key)) {399 psError(PS_ERR_UNKNOWN, false, PS_ERRORTEXT_psMetadata_REMOVE_TABLE_FAILED, key);400 return false;401 }402 375 } else { 403 376 … … 414 387 return false; 415 388 } 416 // Use recursive remove, now that key is known 417 psMetadataRemove(md, PS_LIST_UNKNOWN, key); 389 } 390 391 if (!psListRemoveData(mdList, entry)) { 392 psError(PS_ERR_UNKNOWN, false, PS_ERRORTEXT_psMetadata_REMOVE_LIST_FAILED, key); 393 return false; 394 } 395 396 // Remove entry from metadata collection's table 397 if (!psHashRemove(mdTable, key)) { 398 psError(PS_ERR_UNKNOWN, false, PS_ERRORTEXT_psMetadata_REMOVE_TABLE_FAILED, key); 399 return false; 418 400 } 419 401 -
trunk/psLib/src/types/psMetadataConfig.c
r2637 r2681 9 9 * @author Ross Harman, MHPCC 10 10 * 11 * @version $Revision: 1.1 5$ $Name: not supported by cvs2svn $12 * @date $Date: 2004-12- 06 19:59:57$11 * @version $Revision: 1.16 $ $Name: not supported by cvs2svn $ 12 * @date $Date: 2004-12-10 02:50:14 $ 13 13 * 14 14 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 19 19 #include <string.h> 20 20 #include <ctype.h> 21 #include <limits.h> 21 22 22 23 #include "psAbort.h" … … 598 599 if(metadataItem->type!=PS_META_LIST) { 599 600 if(overwrite) { 600 psMetadataRemove(md, PS_LIST_UNKNOWN, strName);601 psMetadataRemove(md, INT_MIN, strName); 601 602 } else { 602 603 (*nFail)++; … … 790 791 PS_PTR_CHECK_NULL_GENERAL(metadataItem, return); 791 792 PS_PTR_CHECK_NULL_GENERAL(metadataItem->data.list, return); 792 psListSetIterator(metadataItem->data.list, PS_LIST_TAIL); 793 metadataItem = (psMetadataItem*)psListGetCurrent(metadataItem->data.list); 793 metadataItem = (psMetadataItem*)psListGet(metadataItem->data.list,PS_LIST_TAIL); 794 794 htAtts = (psHash*)metadataItem->data.list; 795 795 PS_PTR_CHECK_NULL_GENERAL(htAtts, return); … … 848 848 if(metadataItem->type != PS_META_LIST) { 849 849 if(overwrite) { 850 psMetadataRemove(md, PS_LIST_UNKNOWN, strName);850 psMetadataRemove(md, INT_MIN, strName); 851 851 } else { 852 852 psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_OVERWRITE_ITEM, strName, lineNumber, … … 943 943 PS_PTR_CHECK_NULL_GENERAL(tables, return); 944 944 PS_PTR_CHECK_NULL_GENERAL(tables->data.list, return); 945 psListSetIterator(tables->data.list, PS_LIST_TAIL); 946 table = (psMetadataItem*)psListGetCurrent(tables->data.list); 945 table = (psMetadataItem*)psListGet(tables->data.list,PS_LIST_TAIL); 947 946 htAtts = (psHash*)table->data.list; 948 947 PS_PTR_CHECK_NULL_GENERAL(htAtts, return); … … 1002 1001 if(metadataItem->type != PS_META_LIST) { 1003 1002 if(overwrite) { 1004 psMetadataRemove(md, PS_LIST_UNKNOWN, strName);1003 psMetadataRemove(md, INT_MIN, strName); 1005 1004 } else { 1006 1005 psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_OVERWRITE_ITEM, strName, lineNumber, … … 1045 1044 PS_PTR_CHECK_NULL_GENERAL(tables, return); 1046 1045 PS_PTR_CHECK_NULL_GENERAL(tables->data.list, return); 1047 psListSetIterator(tables->data.list, PS_LIST_TAIL); 1048 table = (psMetadataItem*)psListGetCurrent(tables->data.list); 1046 table = (psMetadataItem*)psListGet(tables->data.list,PS_LIST_TAIL); 1049 1047 htAtts = (psHash*)table->data.list; 1050 1048 PS_PTR_CHECK_NULL_GENERAL(htAtts, return); … … 1070 1068 1071 1069 // Free temporary metadata item and its hash table 1072 psListRemove(tables->data.list, PS_LIST_TAIL , table);1070 psListRemove(tables->data.list, PS_LIST_TAIL); 1073 1071 1074 1072 psFree(psEndTagName); -
trunk/psLib/src/xml/psXML.c
r2637 r2681 9 9 * @author Ross Harman, MHPCC 10 10 * 11 * @version $Revision: 1.1 5$ $Name: not supported by cvs2svn $12 * @date $Date: 2004-12- 06 19:59:57$11 * @version $Revision: 1.16 $ $Name: not supported by cvs2svn $ 12 * @date $Date: 2004-12-10 02:50:14 $ 13 13 * 14 14 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 19 19 #include <string.h> 20 20 #include <ctype.h> 21 #include <limits.h> 21 22 22 23 #include "psAbort.h" … … 598 599 if(metadataItem->type!=PS_META_LIST) { 599 600 if(overwrite) { 600 psMetadataRemove(md, PS_LIST_UNKNOWN, strName);601 psMetadataRemove(md, INT_MIN, strName); 601 602 } else { 602 603 (*nFail)++; … … 790 791 PS_PTR_CHECK_NULL_GENERAL(metadataItem, return); 791 792 PS_PTR_CHECK_NULL_GENERAL(metadataItem->data.list, return); 792 psListSetIterator(metadataItem->data.list, PS_LIST_TAIL); 793 metadataItem = (psMetadataItem*)psListGetCurrent(metadataItem->data.list); 793 metadataItem = (psMetadataItem*)psListGet(metadataItem->data.list,PS_LIST_TAIL); 794 794 htAtts = (psHash*)metadataItem->data.list; 795 795 PS_PTR_CHECK_NULL_GENERAL(htAtts, return); … … 848 848 if(metadataItem->type != PS_META_LIST) { 849 849 if(overwrite) { 850 psMetadataRemove(md, PS_LIST_UNKNOWN, strName);850 psMetadataRemove(md, INT_MIN, strName); 851 851 } else { 852 852 psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_OVERWRITE_ITEM, strName, lineNumber, … … 943 943 PS_PTR_CHECK_NULL_GENERAL(tables, return); 944 944 PS_PTR_CHECK_NULL_GENERAL(tables->data.list, return); 945 psListSetIterator(tables->data.list, PS_LIST_TAIL); 946 table = (psMetadataItem*)psListGetCurrent(tables->data.list); 945 table = (psMetadataItem*)psListGet(tables->data.list,PS_LIST_TAIL); 947 946 htAtts = (psHash*)table->data.list; 948 947 PS_PTR_CHECK_NULL_GENERAL(htAtts, return); … … 1002 1001 if(metadataItem->type != PS_META_LIST) { 1003 1002 if(overwrite) { 1004 psMetadataRemove(md, PS_LIST_UNKNOWN, strName);1003 psMetadataRemove(md, INT_MIN, strName); 1005 1004 } else { 1006 1005 psError(PS_ERR_IO, true, PS_ERRORTEXT_psMetadataIO_OVERWRITE_ITEM, strName, lineNumber, … … 1045 1044 PS_PTR_CHECK_NULL_GENERAL(tables, return); 1046 1045 PS_PTR_CHECK_NULL_GENERAL(tables->data.list, return); 1047 psListSetIterator(tables->data.list, PS_LIST_TAIL); 1048 table = (psMetadataItem*)psListGetCurrent(tables->data.list); 1046 table = (psMetadataItem*)psListGet(tables->data.list,PS_LIST_TAIL); 1049 1047 htAtts = (psHash*)table->data.list; 1050 1048 PS_PTR_CHECK_NULL_GENERAL(htAtts, return); … … 1070 1068 1071 1069 // Free temporary metadata item and its hash table 1072 psListRemove(tables->data.list, PS_LIST_TAIL , table);1070 psListRemove(tables->data.list, PS_LIST_TAIL); 1073 1071 1074 1072 psFree(psEndTagName); -
trunk/psLib/tags
r2285 r2681 4 4 !_TAG_PROGRAM_NAME Exuberant Ctags // 5 5 !_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/ 6 !_TAG_PROGRAM_VERSION 5.5. 2//6 !_TAG_PROGRAM_VERSION 5.5.4 // 7 7 A test/dataManip/tst_psFunc07.c /^#define A /;" d file: 8 8 A test/dataManip/tst_psMinimize04.c /^#define A /;" d file: … … 137 137 FPA_MIN_X test/astronomy/tst_psAstrometry01.c /^#define FPA_MIN_X /;" d file: 138 138 FPA_MIN_Y test/astronomy/tst_psAstrometry01.c /^#define FPA_MIN_Y /;" d file: 139 FUNC_MACRO_FULL_INTERPOLATE_1D src/dataManip/psFunctions.c /^#define FUNC_MACRO_FULL_INTERPOLATE_1D(/;" d file: 140 FUNC_MACRO_VECTOR_BIN_DISECT src/dataManip/psFunctions.c /^#define FUNC_MACRO_VECTOR_BIN_DISECT(/;" d file: 141 FUNC_MACRO_VECTOR_BIN_DISECT src/dataManip/psFunctions.c /^FUNC_MACRO_VECTOR_BIN_DISECT(S8)$/;" f 139 142 FitChebyF32 test/image/tst_psImageStats04.c /^psS32 FitChebyF32(int numCols, int numRows)$/;" f 140 143 FitChebyF64 test/image/tst_psImageStats04.c /^psS32 FitChebyF64(int numCols, int numRows)$/;" f … … 187 190 LINEAR test/dataManip/tst_psFunc03.c /^#define LINEAR /;" d file: 188 191 LINEAR_CUT_CASE src/image/psImageExtraction.c /^ #define LINEAR_CUT_CASE(/;" d file: 189 LINESIZE src/astronomy/psTime.c /^ #define LINESIZE /;" d file:190 192 LONGITUDE test/astronomy/tst_psAstrometry01.c /^#define LONGITUDE /;" d file: 191 193 LOWER test/dataManip/tst_psHist00.c /^#define LOWER /;" d file: … … 202 204 MAX_STRING_LENGTH src/astronomy/psMetadata.c /^#define MAX_STRING_LENGTH /;" d file: 203 205 MAX_STRING_LENGTH src/astronomy/psMetadataIO.c /^#define MAX_STRING_LENGTH /;" d file: 206 MAX_STRING_LENGTH src/astronomy/psTime.c /^#define MAX_STRING_LENGTH /;" d file: 207 MAX_STRING_LENGTH src/fileUtils/psFits.c /^#define MAX_STRING_LENGTH /;" d file: 208 MAX_STRING_LENGTH src/fileUtils/psLookupTable.c /^#define MAX_STRING_LENGTH /;" d file: 204 209 MAX_TIME_STRING_LENGTH src/astronomy/psTime.c /^ #define MAX_TIME_STRING_LENGTH /;" d file: 205 210 MEAN test/dataManip/tst_psMinimize07.c /^#define MEAN /;" d file: … … 347 352 PS_ASTROMETRY_H include/psAstrometry.h /^#define PS_ASTROMETRY_H$/;" d 348 353 PS_ASTROMETRY_H src/astronomy/psAstrometry.h /^#define PS_ASTROMETRY_H$/;" d 354 PS_ASTRONOMY_ERRORS_H src/astronomy/psAstronomyErrors.h /^#define PS_ASTRONOMY_ERRORS_H$/;" d 349 355 PS_BADPIXEL_BITMASK include/psType.h /^#define PS_BADPIXEL_BITMASK /;" d 350 356 PS_BADPIXEL_BITMASK src/sysUtils/psType.h /^#define PS_BADPIXEL_BITMASK /;" d … … 362 368 PS_COMPARE_H src/collections/psCompare.h /^#define PS_COMPARE_H$/;" d 363 369 PS_COMPARE_TINY_THEN_PRINT_ERROR test/astronomy/tst_psCoord.c /^#define PS_COMPARE_TINY_THEN_PRINT_ERROR(/;" d file: 370 PS_CONFIGURE_H include/psConfigure.h /^#define PS_CONFIGURE_H$/;" d 371 PS_CONFIGURE_H src/sysUtils/psConfigure.h /^#define PS_CONFIGURE_H$/;" d 364 372 PS_COORD_H include/psCoord.h /^#define PS_COORD_H$/;" d 365 373 PS_COORD_H src/astronomy/psCoord.h /^#define PS_COORD_H$/;" d … … 397 405 PS_ERRORNAME_DOMAIN src/collections/psCollectionsErrors.h /^#define PS_ERRORNAME_DOMAIN /;" d 398 406 PS_ERRORNAME_DOMAIN src/dataManip/psDataManipErrors.h /^#define PS_ERRORNAME_DOMAIN /;" d 407 PS_ERRORNAME_DOMAIN src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORNAME_DOMAIN /;" d 399 408 PS_ERRORNAME_DOMAIN src/image/psImageErrors.h /^#define PS_ERRORNAME_DOMAIN /;" d 400 409 PS_ERRORNAME_DOMAIN src/sysUtils/psSysUtilsErrors.h /^#define PS_ERRORNAME_DOMAIN /;" d 410 PS_ERRORTEXT_psArray_REALLOC_NULL src/collections/psCollectionsErrors.h /^#define PS_ERRORTEXT_psArray_REALLOC_NULL /;" d 401 411 PS_ERRORTEXT_psAstrometry_NONLINEAR_TRANSFORM src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psAstrometry_NONLINEAR_TRANSFORM /;" d 402 412 PS_ERRORTEXT_psBitSet_ALLOC_NEG_SIZE src/collections/psCollectionsErrors.h /^#define PS_ERRORTEXT_psBitSet_ALLOC_NEG_SIZE /;" d … … 410 420 PS_ERRORTEXT_psBitSet_SECOND_OPERAND_NULL src/collections/psCollectionsErrors.h /^#define PS_ERRORTEXT_psBitSet_SECOND_OPERAND_NULL /;" d 411 421 PS_ERRORTEXT_psBitSet_SET_NULL src/collections/psCollectionsErrors.h /^#define PS_ERRORTEXT_psBitSet_SET_NULL /;" d 422 PS_ERRORTEXT_psConfigure_FINALIZATION_FAILED src/sysUtils/psSysUtilsErrors.h /^#define PS_ERRORTEXT_psConfigure_FINALIZATION_FAILED /;" d 423 PS_ERRORTEXT_psConfigure_INITIALIZATION_FAILED src/sysUtils/psSysUtilsErrors.h /^#define PS_ERRORTEXT_psConfigure_INITIALIZATION_FAILED /;" d 412 424 PS_ERRORTEXT_psCoord_OFFSET_MODE_UNKNOWN src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psCoord_OFFSET_MODE_UNKNOWN /;" d 413 425 PS_ERRORTEXT_psCoord_PROJECTION_TYPE_UNDEFINED src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psCoord_PROJECTION_TYPE_UNDEFINED /;" d … … 416 428 PS_ERRORTEXT_psErrorCode_ERRORCODE_REGISTER_FAILED src/sysUtils/psSysUtilsErrors.h /^#define PS_ERRORTEXT_psErrorCode_ERRORCODE_REGISTER_FAILED /;" d 417 429 PS_ERRORTEXT_psErrorCode_NULL_ERRORDESCRIPTION src/sysUtils/psSysUtilsErrors.h /^#define PS_ERRORTEXT_psErrorCode_NULL_ERRORDESCRIPTION /;" d 418 PS_ERRORTEXT_psFunctions_INVALID_POLYNOMIAL_TYPE src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psFunctions_INVALID_POLYNOMIAL_TYPE /;" d 419 PS_ERRORTEXT_psFunctions_NOT_ENOUGH_DATAPOINTS src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psFunctions_NOT_ENOUGH_DATAPOINTS /;" d 420 PS_ERRORTEXT_psFunctions_TYPE_NOT_SUPPORTED src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psFunctions_TYPE_NOT_SUPPORTED /;" d 430 PS_ERRORTEXT_psFits_CFITSIO_ERROR src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psFits_CFITSIO_ERROR /;" d 431 PS_ERRORTEXT_psFits_CREATE_HDU_FAILED src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psFits_CREATE_HDU_FAILED /;" d 432 PS_ERRORTEXT_psFits_EXTNAME_INVALID src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psFits_EXTNAME_INVALID /;" d 433 PS_ERRORTEXT_psFits_EXTNUM_INVALID src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psFits_EXTNUM_INVALID /;" d 434 PS_ERRORTEXT_psFits_FILENAME_CREATE_FAILED src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psFits_FILENAME_CREATE_FAILED /;" d 435 PS_ERRORTEXT_psFits_FILENAME_INVALID src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psFits_FILENAME_INVALID /;" d 436 PS_ERRORTEXT_psFits_FILENAME_NULL src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psFits_FILENAME_NULL /;" d 437 PS_ERRORTEXT_psFits_GETHDUTYPE_FAILED src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psFits_GETHDUTYPE_FAILED /;" d 438 PS_ERRORTEXT_psFits_GETNUMHDUS_FAILED src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psFits_GETNUMHDUS_FAILED /;" d 439 PS_ERRORTEXT_psFits_GETNUMKEYS_FAILED src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psFits_GETNUMKEYS_FAILED /;" d 440 PS_ERRORTEXT_psFits_GET_EXTNUM_FAILED src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psFits_GET_EXTNUM_FAILED /;" d 441 PS_ERRORTEXT_psFits_IMAGE_NULL src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psFits_IMAGE_NULL /;" d 442 PS_ERRORTEXT_psFits_METADATA_ADD_FAILED src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psFits_METADATA_ADD_FAILED /;" d 443 PS_ERRORTEXT_psFits_METATYPE_INVALID src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psFits_METATYPE_INVALID /;" d 444 PS_ERRORTEXT_psFits_NOT_IMAGE_TYPE src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psFits_NOT_IMAGE_TYPE /;" d 445 PS_ERRORTEXT_psFits_NULL src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psFits_NULL /;" d 446 PS_ERRORTEXT_psFits_TABLE_FIRSTROW_NULL src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psFits_TABLE_FIRSTROW_NULL /;" d 447 PS_ERRORTEXT_psFits_TYPE_UNSUPPORTED src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psFits_TYPE_UNSUPPORTED /;" d 448 PS_ERRORTEXT_psFits_WRITE_FAILED src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psFits_WRITE_FAILED /;" d 449 PS_ERRORTEXT_psFunctions_INVALID_POLYNOMIAL_TYPE src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psFunctions_INVALID_POLYNOMIAL_TYPE /;" d 450 PS_ERRORTEXT_psFunctions_NOT_ENOUGH_DATAPOINTS src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psFunctions_NOT_ENOUGH_DATAPOINTS /;" d 451 PS_ERRORTEXT_psFunctions_TYPE_NOT_SUPPORTED src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psFunctions_TYPE_NOT_SUPPORTED /;" d 421 452 PS_ERRORTEXT_psHash_DATA_NULL src/collections/psCollectionsErrors.h /^#define PS_ERRORTEXT_psHash_DATA_NULL /;" d 422 453 PS_ERRORTEXT_psHash_KEY_NULL src/collections/psCollectionsErrors.h /^#define PS_ERRORTEXT_psHash_KEY_NULL /;" d … … 494 525 PS_ERRORTEXT_psLogMsg_UNKNOWN_KEY src/sysUtils/psSysUtilsErrors.h /^#define PS_ERRORTEXT_psLogMsg_UNKNOWN_KEY /;" d 495 526 PS_ERRORTEXT_psLogMsg_UNSUPPORTED_PROTOCOL src/sysUtils/psSysUtilsErrors.h /^#define PS_ERRORTEXT_psLogMsg_UNSUPPORTED_PROTOCOL /;" d 496 PS_ERRORTEXT_psMatrix_COUNT_DIFFERS src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psMatrix_COUNT_DIFFERS /;" d 497 PS_ERRORTEXT_psMatrix_DIMEN_INVALID src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psMatrix_DIMEN_INVALID /;" d 498 PS_ERRORTEXT_psMatrix_DIMEN_OTHER_FOUND src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psMatrix_DIMEN_OTHER_FOUND /;" d 499 PS_ERRORTEXT_psMatrix_IMAGE_EMPTY src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psMatrix_IMAGE_EMPTY /;" d 500 PS_ERRORTEXT_psMatrix_IMAGE_SIZE_DIFFERS src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psMatrix_IMAGE_SIZE_DIFFERS /;" d 501 PS_ERRORTEXT_psMatrix_MAX_COMPLEX_SUPPORT src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psMatrix_MAX_COMPLEX_SUPPORT /;" d 502 PS_ERRORTEXT_psMatrix_MIN_COMPLEX_SUPPORT src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psMatrix_MIN_COMPLEX_SUPPORT /;" d 503 PS_ERRORTEXT_psMatrix_OPERATION_UNSUPPORTED src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psMatrix_OPERATION_UNSUPPORTED /;" d 504 PS_ERRORTEXT_psMatrix_OUTPUT_IMAGE_NOT_CREATED src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psMatrix_OUTPUT_IMAGE_NOT_CREATED /;" d 505 PS_ERRORTEXT_psMatrix_OUTPUT_VECTOR_NOT_CREATED src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psMatrix_OUTPUT_VECTOR_NOT_CREATED /;" d 506 PS_ERRORTEXT_psMatrix_TYPE_MISMATCH src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psMatrix_TYPE_MISMATCH /;" d 507 PS_ERRORTEXT_psMatrix_VECTOR_EMPTY src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psMatrix_VECTOR_EMPTY /;" d 527 PS_ERRORTEXT_psLookupTable_DIVIDE_BY_ZERO src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psLookupTable_DIVIDE_BY_ZERO /;" d 528 PS_ERRORTEXT_psLookupTable_FILE_NOT_FOUND src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psLookupTable_FILE_NOT_FOUND /;" d 529 PS_ERRORTEXT_psLookupTable_INTERPOLATE_HIGH src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psLookupTable_INTERPOLATE_HIGH /;" d 530 PS_ERRORTEXT_psLookupTable_INTERPOLATE_LOW src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psLookupTable_INTERPOLATE_LOW /;" d 531 PS_ERRORTEXT_psLookupTable_INVALID_TYPE src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psLookupTable_INVALID_TYPE /;" d 532 PS_ERRORTEXT_psLookupTable_PARSE_GENERAL src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psLookupTable_PARSE_GENERAL /;" d 533 PS_ERRORTEXT_psLookupTable_PARSE_TYPE src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psLookupTable_PARSE_TYPE /;" d 534 PS_ERRORTEXT_psLookupTable_PARSE_VALUE src/fileUtils/psFileUtilsErrors.h /^#define PS_ERRORTEXT_psLookupTable_PARSE_VALUE /;" d 535 PS_ERRORTEXT_psMatrix_COUNT_DIFFERS src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psMatrix_COUNT_DIFFERS /;" d 536 PS_ERRORTEXT_psMatrix_DIMEN_INVALID src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psMatrix_DIMEN_INVALID /;" d 537 PS_ERRORTEXT_psMatrix_DIMEN_OTHER_FOUND src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psMatrix_DIMEN_OTHER_FOUND /;" d 538 PS_ERRORTEXT_psMatrix_IMAGE_EMPTY src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psMatrix_IMAGE_EMPTY /;" d 539 PS_ERRORTEXT_psMatrix_IMAGE_SIZE_DIFFERS src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psMatrix_IMAGE_SIZE_DIFFERS /;" d 540 PS_ERRORTEXT_psMatrix_MAX_COMPLEX_SUPPORT src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psMatrix_MAX_COMPLEX_SUPPORT /;" d 541 PS_ERRORTEXT_psMatrix_MIN_COMPLEX_SUPPORT src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psMatrix_MIN_COMPLEX_SUPPORT /;" d 542 PS_ERRORTEXT_psMatrix_OPERATION_UNSUPPORTED src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psMatrix_OPERATION_UNSUPPORTED /;" d 543 PS_ERRORTEXT_psMatrix_OUTPUT_IMAGE_NOT_CREATED src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psMatrix_OUTPUT_IMAGE_NOT_CREATED /;" d 544 PS_ERRORTEXT_psMatrix_OUTPUT_VECTOR_NOT_CREATED src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psMatrix_OUTPUT_VECTOR_NOT_CREATED /;" d 545 PS_ERRORTEXT_psMatrix_TYPE_MISMATCH src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psMatrix_TYPE_MISMATCH /;" d 546 PS_ERRORTEXT_psMatrix_VECTOR_EMPTY src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psMatrix_VECTOR_EMPTY /;" d 508 547 PS_ERRORTEXT_psMemory_DEREF_BLOCK_USE src/sysUtils/psSysUtilsErrors.h /^#define PS_ERRORTEXT_psMemory_DEREF_BLOCK_USE /;" d 509 548 PS_ERRORTEXT_psMemory_MULTIPLE_FREE src/sysUtils/psSysUtilsErrors.h /^#define PS_ERRORTEXT_psMemory_MULTIPLE_FREE /;" d … … 518 557 PS_ERRORTEXT_psMetadataIO_FILE_TYPE_INVALID src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psMetadataIO_FILE_TYPE_INVALID /;" d 519 558 PS_ERRORTEXT_psMetadataIO_FITS_METATYPE_INVALID src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psMetadataIO_FITS_METATYPE_INVALID /;" d 559 PS_ERRORTEXT_psMetadataIO_NO_NAME src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psMetadataIO_NO_NAME /;" d 520 560 PS_ERRORTEXT_psMetadataIO_OVERWRITE_ITEM src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psMetadataIO_OVERWRITE_ITEM /;" d 521 561 PS_ERRORTEXT_psMetadataIO_PARSE_FAILED src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psMetadataIO_PARSE_FAILED /;" d 562 PS_ERRORTEXT_psMetadataIO_TAG_MISMATCH src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psMetadataIO_TAG_MISMATCH /;" d 563 PS_ERRORTEXT_psMetadataIO_TAG_UNKNOWN src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psMetadataIO_TAG_UNKNOWN /;" d 522 564 PS_ERRORTEXT_psMetadataIO_TYPE_INVALID src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psMetadataIO_TYPE_INVALID /;" d 565 PS_ERRORTEXT_psMetadataIO_TYPE_INVALID_LINE_FILE src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psMetadataIO_TYPE_INVALID_LINE_FILE /;" d 523 566 PS_ERRORTEXT_psMetadata_ADD_COLLECTION_FAILED src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psMetadata_ADD_COLLECTION_FAILED /;" d 524 567 PS_ERRORTEXT_psMetadata_ADD_FAILED src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psMetadata_ADD_FAILED /;" d … … 531 574 PS_ERRORTEXT_psMetadata_REMOVE_LIST_INDEX_FAILED src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psMetadata_REMOVE_LIST_INDEX_FAILED /;" d 532 575 PS_ERRORTEXT_psMetadata_REMOVE_TABLE_FAILED src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psMetadata_REMOVE_TABLE_FAILED /;" d 576 PS_ERRORTEXT_psRandom_UNKNOWN_RANDFOM_NUMBER_GENERATOR_TYPE src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psRandom_UNKNOWN_RANDFOM_NUMBER_GENERATOR_TYPE /;" d 533 577 PS_ERRORTEXT_psScalar_COPY_NULL src/collections/psCollectionsErrors.h /^#define PS_ERRORTEXT_psScalar_COPY_NULL /;" d 534 578 PS_ERRORTEXT_psScalar_UNSUPPORTED_TYPE src/collections/psCollectionsErrors.h /^#define PS_ERRORTEXT_psScalar_UNSUPPORTED_TYPE /;" d 535 PS_ERRORTEXT_psStats_NOT_F32_F64 src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psStats_NOT_F32_F64 /;" d 536 PS_ERRORTEXT_psStats_ROBUST_QUARTILE_BINS_FAILED src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psStats_ROBUST_QUARTILE_BINS_FAILED /;" d 537 PS_ERRORTEXT_psStats_STATS_FAILED src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psStats_STATS_FAILED /;" d 538 PS_ERRORTEXT_psStats_VECTOR_TYPE_UNSUPPORTED src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psStats_VECTOR_TYPE_UNSUPPORTED /;" d 539 PS_ERRORTEXT_psStats_YVAL_OUT_OF_RANGE src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psStats_YVAL_OUT_OF_RANGE /;" d 579 PS_ERRORTEXT_psStats_NOT_F32_F64 src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psStats_NOT_F32_F64 /;" d 580 PS_ERRORTEXT_psStats_ROBUST_QUARTILE_BINS_FAILED src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psStats_ROBUST_QUARTILE_BINS_FAILED /;" d 581 PS_ERRORTEXT_psStats_ROBUST_STATS_CLIPPED_STATS src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psStats_ROBUST_STATS_CLIPPED_STATS /;" d 582 PS_ERRORTEXT_psStats_STATS_FAILED src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psStats_STATS_FAILED /;" d 583 PS_ERRORTEXT_psStats_STATS_FIT_QUADRATIC_POLYNOMIAL_1D_FIT src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psStats_STATS_FIT_QUADRATIC_POLYNOMIAL_1D_FIT /;" d 584 PS_ERRORTEXT_psStats_STATS_FIT_QUADRATIC_POLY_MEDIAN src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psStats_STATS_FIT_QUADRATIC_POLY_MEDIAN /;" d 585 PS_ERRORTEXT_psStats_STATS_POLY_MEDIAN_OUT_OF_RANGE src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psStats_STATS_POLY_MEDIAN_OUT_OF_RANGE /;" d 586 PS_ERRORTEXT_psStats_STATS_SAMPLE_MEDIAN_SORT_PROBLEM src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psStats_STATS_SAMPLE_MEDIAN_SORT_PROBLEM /;" d 587 PS_ERRORTEXT_psStats_STATS_VECTOR_BIN_DISECT_PROBLEM src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psStats_STATS_VECTOR_BIN_DISECT_PROBLEM /;" d 588 PS_ERRORTEXT_psStats_VECTOR_TYPE_UNSUPPORTED src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psStats_VECTOR_TYPE_UNSUPPORTED /;" d 589 PS_ERRORTEXT_psStats_YVAL_OUT_OF_RANGE src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psStats_YVAL_OUT_OF_RANGE /;" d 540 590 PS_ERRORTEXT_psString_NCHAR_NEGATIVE src/sysUtils/psSysUtilsErrors.h /^#define PS_ERRORTEXT_psString_NCHAR_NEGATIVE /;" d 541 591 PS_ERRORTEXT_psTime_APPEND_MSEC_FAILED src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psTime_APPEND_MSEC_FAILED /;" d 592 PS_ERRORTEXT_psTime_BAD_TABLE_COUNT src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psTime_BAD_TABLE_COUNT /;" d 593 PS_ERRORTEXT_psTime_BAD_VECTOR src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psTime_BAD_VECTOR /;" d 542 594 PS_ERRORTEXT_psTime_CONVERT_TIME_TO_STRING_FAILED src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psTime_CONVERT_TIME_TO_STRING_FAILED /;" d 543 595 PS_ERRORTEXT_psTime_FILE_NOT_FOUND src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psTime_FILE_NOT_FOUND /;" d 544 596 PS_ERRORTEXT_psTime_FILE_TOO_MANY_ROWS src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psTime_FILE_TOO_MANY_ROWS /;" d 545 597 PS_ERRORTEXT_psTime_GET_TOD_FAILED src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psTime_GET_TOD_FAILED /;" d 598 PS_ERRORTEXT_psTime_INTERPOLATION_FAILED src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psTime_INTERPOLATION_FAILED /;" d 599 PS_ERRORTEXT_psTime_INTERPOLATION_FAILED_NAME src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psTime_INTERPOLATION_FAILED_NAME /;" d 546 600 PS_ERRORTEXT_psTime_ISOTIME_MALFORMED src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psTime_ISOTIME_MALFORMED /;" d 601 PS_ERRORTEXT_psTime_LOOKUP_METADATA_FAILED src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psTime_LOOKUP_METADATA_FAILED /;" d 547 602 PS_ERRORTEXT_psTime_TABLE_DUPLICATE_ROWS src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psTime_TABLE_DUPLICATE_ROWS /;" d 548 603 PS_ERRORTEXT_psTime_TIME_POSTDATES_TABLE src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psTime_TIME_POSTDATES_TABLE /;" d 604 PS_ERRORTEXT_psTime_TIME_POSTDATES_TABLES src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psTime_TIME_POSTDATES_TABLES /;" d 549 605 PS_ERRORTEXT_psTime_TIME_PREDATES_TABLE src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psTime_TIME_PREDATES_TABLE /;" d 606 PS_ERRORTEXT_psTime_TIME_PREDATES_TABLES src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psTime_TIME_PREDATES_TABLES /;" d 607 PS_ERRORTEXT_psTime_TYPE_INCORRECT src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psTime_TYPE_INCORRECT /;" d 550 608 PS_ERRORTEXT_psTime_TYPE_MISMATCH src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psTime_TYPE_MISMATCH /;" d 551 609 PS_ERRORTEXT_psTime_TYPE_UNKNOWN src/astronomy/psAstronomyErrors.h /^#define PS_ERRORTEXT_psTime_TYPE_UNKNOWN /;" d … … 556 614 PS_ERRORTEXT_psTrace_NULL_SUBCOMPONENT src/sysUtils/psSysUtilsErrors.h /^#define PS_ERRORTEXT_psTrace_NULL_SUBCOMPONENT /;" d 557 615 PS_ERRORTEXT_psTrace_NULL_TRACETREE src/sysUtils/psSysUtilsErrors.h /^#define PS_ERRORTEXT_psTrace_NULL_TRACETREE /;" d 558 PS_ERRORTEXT_psVectorFFT_DIRECTION_NOTSET src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psVectorFFT_DIRECTION_NOTSET /;" d559 PS_ERRORTEXT_psVectorFFT_FFTW_PLAN_NULL src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psVectorFFT_FFTW_PLAN_NULL /;" d560 PS_ERRORTEXT_psVectorFFT_FORWARD_NOT_REAL src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psVectorFFT_FORWARD_NOT_REAL /;" d561 PS_ERRORTEXT_psVectorFFT_NONCOMPLEX_NOTSUPPORTED src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psVectorFFT_NONCOMPLEX_NOTSUPPORTED /;" d562 PS_ERRORTEXT_psVectorFFT_NONREAL_NOTSUPPORTED src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psVectorFFT_NONREAL_NOTSUPPORTED /;" d563 PS_ERRORTEXT_psVectorFFT_REAL_IMAG_SIZE_MISMATCH src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psVectorFFT_REAL_IMAG_SIZE_MISMATCH /;" d564 PS_ERRORTEXT_psVectorFFT_REAL_IMAG_TYPE_MISMATCH src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psVectorFFT_REAL_IMAG_TYPE_MISMATCH /;" d565 PS_ERRORTEXT_psVectorFFT_REVERSE_NOT_COMPLEX src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psVectorFFT_REVERSE_NOT_COMPLEX /;" d566 PS_ERRORTEXT_psVectorFFT_TYPE_NOT_F32_C32 src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psVectorFFT_TYPE_NOT_F32_C32 /;" d567 PS_ERRORTEXT_psVectorFFT_TYPE_UNSUPPORTED src/dataManip/psDataManipErrors.h /^ #define PS_ERRORTEXT_psVectorFFT_TYPE_UNSUPPORTED /;" d616 PS_ERRORTEXT_psVectorFFT_DIRECTION_NOTSET src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psVectorFFT_DIRECTION_NOTSET /;" d 617 PS_ERRORTEXT_psVectorFFT_FFTW_PLAN_NULL src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psVectorFFT_FFTW_PLAN_NULL /;" d 618 PS_ERRORTEXT_psVectorFFT_FORWARD_NOT_REAL src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psVectorFFT_FORWARD_NOT_REAL /;" d 619 PS_ERRORTEXT_psVectorFFT_NONCOMPLEX_NOTSUPPORTED src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psVectorFFT_NONCOMPLEX_NOTSUPPORTED /;" d 620 PS_ERRORTEXT_psVectorFFT_NONREAL_NOTSUPPORTED src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psVectorFFT_NONREAL_NOTSUPPORTED /;" d 621 PS_ERRORTEXT_psVectorFFT_REAL_IMAG_SIZE_MISMATCH src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psVectorFFT_REAL_IMAG_SIZE_MISMATCH /;" d 622 PS_ERRORTEXT_psVectorFFT_REAL_IMAG_TYPE_MISMATCH src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psVectorFFT_REAL_IMAG_TYPE_MISMATCH /;" d 623 PS_ERRORTEXT_psVectorFFT_REVERSE_NOT_COMPLEX src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psVectorFFT_REVERSE_NOT_COMPLEX /;" d 624 PS_ERRORTEXT_psVectorFFT_TYPE_NOT_F32_C32 src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psVectorFFT_TYPE_NOT_F32_C32 /;" d 625 PS_ERRORTEXT_psVectorFFT_TYPE_UNSUPPORTED src/dataManip/psDataManipErrors.h /^#define PS_ERRORTEXT_psVectorFFT_TYPE_UNSUPPORTED /;" d 568 626 PS_ERRORTEXT_psVector_NOT_A_VECTOR src/collections/psCollectionsErrors.h /^#define PS_ERRORTEXT_psVector_NOT_A_VECTOR /;" d 569 627 PS_ERRORTEXT_psVector_REALLOC_NULL src/collections/psCollectionsErrors.h /^#define PS_ERRORTEXT_psVector_REALLOC_NULL /;" d … … 610 668 PS_FFT_REVERSE src/dataManip/psVectorFFT.h /^ PS_FFT_REVERSE = 2,$/;" e 611 669 PS_FILE src/dataManip/psMinimize.c /^#define PS_FILE /;" d file: 670 PS_FILEUTIL_ERRORS_H src/fileUtils/psFileUtilsErrors.h /^#define PS_FILEUTIL_ERRORS_H$/;" d 671 PS_FITS_H src/fileUtils/psFits.h /^#define PS_FITS_H$/;" d 672 PS_FITS_TYPE_ANY src/fileUtils/psFits.h /^ PS_FITS_TYPE_ANY = ANY_HDU$/;" e 673 PS_FITS_TYPE_ASCII_TABLE src/fileUtils/psFits.h /^ PS_FITS_TYPE_ASCII_TABLE = ASCII_TBL,$/;" e 674 PS_FITS_TYPE_BINARY_TABLE src/fileUtils/psFits.h /^ PS_FITS_TYPE_BINARY_TABLE = BINARY_TBL,$/;" e 675 PS_FITS_TYPE_IMAGE src/fileUtils/psFits.h /^ PS_FITS_TYPE_IMAGE = IMAGE_HDU,$/;" e 676 PS_FITS_TYPE_NONE src/fileUtils/psFits.h /^ PS_FITS_TYPE_NONE = -1,$/;" e 612 677 PS_FLOAT_CHECK_NON_EQUAL include/psConstants.h /^#define PS_FLOAT_CHECK_NON_EQUAL(/;" d 613 678 PS_FLOAT_CHECK_NON_EQUAL src/dataManip/psConstants.h /^#define PS_FLOAT_CHECK_NON_EQUAL(/;" d … … 615 680 PS_FLOAT_COMPARE src/dataManip/psConstants.h /^#define PS_FLOAT_COMPARE(/;" d 616 681 PS_FUNCTIONS_H include/psFunctions.h /^#define PS_FUNCTIONS_H$/;" d 682 PS_FUNCTIONS_H include/psRandom.h /^#define PS_FUNCTIONS_H$/;" d 617 683 PS_FUNCTIONS_H src/dataManip/psFunctions.h /^#define PS_FUNCTIONS_H$/;" d 684 PS_FUNCTIONS_H src/dataManip/psRandom.h /^#define PS_FUNCTIONS_H$/;" d 685 PS_FUNC_MACRO_NORMALIZE_VECTOR_RANGE src/dataManip/psStats.c /^#define PS_FUNC_MACRO_NORMALIZE_VECTOR_RANGE(/;" d file: 686 PS_FUNC_MACRO_NORMALIZE_VECTOR_RANGE src/dataManip/psStats.c /^PS_FUNC_MACRO_NORMALIZE_VECTOR_RANGE(U8)$/;" f 618 687 PS_GAUSS_WIDTH src/dataManip/psStats.c /^#define PS_GAUSS_WIDTH /;" d file: 619 688 PS_GET_BADPIXEL include/psType.h /^#define PS_GET_BADPIXEL(/;" d … … 632 701 PS_IMAGE_CHECK_NULL_GENERAL include/psConstants.h /^#define PS_IMAGE_CHECK_NULL_GENERAL(/;" d 633 702 PS_IMAGE_CHECK_NULL_GENERAL src/dataManip/psConstants.h /^#define PS_IMAGE_CHECK_NULL_GENERAL(/;" d 703 PS_IMAGE_CHECK_SIZE include/psConstants.h /^#define PS_IMAGE_CHECK_SIZE(/;" d 704 PS_IMAGE_CHECK_SIZE src/dataManip/psConstants.h /^#define PS_IMAGE_CHECK_SIZE(/;" d 705 PS_IMAGE_CHECK_SIZE_EQUAL include/psConstants.h /^#define PS_IMAGE_CHECK_SIZE_EQUAL(/;" d 706 PS_IMAGE_CHECK_SIZE_EQUAL src/dataManip/psConstants.h /^#define PS_IMAGE_CHECK_SIZE_EQUAL(/;" d 634 707 PS_IMAGE_CHECK_TYPE include/psConstants.h /^#define PS_IMAGE_CHECK_TYPE(/;" d 635 708 PS_IMAGE_CHECK_TYPE src/dataManip/psConstants.h /^#define PS_IMAGE_CHECK_TYPE(/;" d … … 656 729 PS_INTERPOLATE_SINC include/psImage.h /^ PS_INTERPOLATE_SINC, \/\/\/< sinc interpolation$/;" e 657 730 PS_INTERPOLATE_SINC src/image/psImage.h /^ PS_INTERPOLATE_SINC, \/\/\/< sinc interpolation$/;" e 731 PS_INT_CHECK_EQUALS include/psConstants.h /^#define PS_INT_CHECK_EQUALS(/;" d 732 PS_INT_CHECK_EQUALS src/dataManip/psConstants.h /^#define PS_INT_CHECK_EQUALS(/;" d 658 733 PS_INT_CHECK_NON_NEGATIVE include/psConstants.h /^#define PS_INT_CHECK_NON_NEGATIVE(/;" d 659 734 PS_INT_CHECK_NON_NEGATIVE src/dataManip/psConstants.h /^#define PS_INT_CHECK_NON_NEGATIVE(/;" d … … 662 737 PS_INT_CHECK_RANGE include/psConstants.h /^#define PS_INT_CHECK_RANGE(/;" d 663 738 PS_INT_CHECK_RANGE src/dataManip/psConstants.h /^#define PS_INT_CHECK_RANGE(/;" d 739 PS_INT_CHECK_ZERO include/psConstants.h /^#define PS_INT_CHECK_ZERO(/;" d 740 PS_INT_CHECK_ZERO src/dataManip/psConstants.h /^#define PS_INT_CHECK_ZERO(/;" d 664 741 PS_INT_COMPARE include/psConstants.h /^#define PS_INT_COMPARE(/;" d 665 742 PS_INT_COMPARE src/dataManip/psConstants.h /^#define PS_INT_COMPARE(/;" d … … 711 788 PS_LOG_WARN include/psLogMsg.h /^ PS_LOG_WARN, \/\/\/< log message is a warning$/;" e 712 789 PS_LOG_WARN src/sysUtils/psLogMsg.h /^ PS_LOG_WARN, \/\/\/< log message is a warning$/;" e 790 PS_LOOKUPTABLE_H include/psLookupTable.h /^#define PS_LOOKUPTABLE_H$/;" d 713 791 PS_LOOKUPTABLE_H src/fileUtils/psLookupTable.h /^#define PS_LOOKUPTABLE_H$/;" d 714 PS_LOOKUP_BOTTOM src/fileUtils/psLookupTable.h /^ PS_LOOKUP_BOTTOM = 0x0002, \/\/\/< Lookup off bottom of table.$/;" e 715 PS_LOOKUP_ERROR src/fileUtils/psLookupTable.h /^ PS_LOOKUP_ERROR = 0x0003, \/\/\/< Any other type of lookup error.$/;" e 716 PS_LOOKUP_SUCCESS src/fileUtils/psLookupTable.h /^ PS_LOOKUP_SUCCESS = 0x000, \/\/\/< Table lookup succeeded.$/;" e 717 PS_LOOKUP_TOP src/fileUtils/psLookupTable.h /^ PS_LOOKUP_TOP = 0x0001, \/\/\/< Lookup off top of table.$/;" e 792 PS_LOOKUP_ERROR include/psLookupTable.h /^ PS_LOOKUP_ERROR = 0x0104 \/\/\/< Any other type of lookup error$/;" e 793 PS_LOOKUP_ERROR src/fileUtils/psLookupTable.h /^ PS_LOOKUP_ERROR = 0x0104 \/\/\/< Any other type of lookup error$/;" e 794 PS_LOOKUP_PAST_BOTTOM include/psLookupTable.h /^ PS_LOOKUP_PAST_BOTTOM = 0x0102, \/\/\/< Lookup off bottom of table$/;" e 795 PS_LOOKUP_PAST_BOTTOM src/fileUtils/psLookupTable.h /^ PS_LOOKUP_PAST_BOTTOM = 0x0102, \/\/\/< Lookup off bottom of table$/;" e 796 PS_LOOKUP_PAST_TOP include/psLookupTable.h /^ PS_LOOKUP_PAST_TOP = 0x0101, \/\/\/< Lookup off top of table$/;" e 797 PS_LOOKUP_PAST_TOP src/fileUtils/psLookupTable.h /^ PS_LOOKUP_PAST_TOP = 0x0101, \/\/\/< Lookup off top of table$/;" e 798 PS_LOOKUP_SUCCESS include/psLookupTable.h /^ PS_LOOKUP_SUCCESS = 0x0000, \/\/\/< Table lookup succeeded$/;" e 799 PS_LOOKUP_SUCCESS src/fileUtils/psLookupTable.h /^ PS_LOOKUP_SUCCESS = 0x0000, \/\/\/< Table lookup succeeded$/;" e 718 800 PS_MAX include/psConstants.h /^#define PS_MAX(/;" d 719 801 PS_MAX src/dataManip/psConstants.h /^#define PS_MAX(/;" d … … 726 808 PS_MAX_F64 include/psType.h /^#define PS_MAX_F64 /;" d 727 809 PS_MAX_F64 src/sysUtils/psType.h /^#define PS_MAX_F64 /;" d 728 PS_MAX_FLOAT src/dataManip/psStats.c /^#define PS_MAX_FLOAT /;" d file:729 810 PS_MAX_LMM_ITERATIONS include/psConstants.h /^#define PS_MAX_LMM_ITERATIONS /;" d 730 811 PS_MAX_LMM_ITERATIONS src/dataManip/psConstants.h /^#define PS_MAX_LMM_ITERATIONS /;" d … … 761 842 PS_META_F64 include/psMetadata.h /^ PS_META_F64, \/\/\/< Double-precision float data.$/;" e 762 843 PS_META_F64 src/astronomy/psMetadata.h /^ PS_META_F64, \/\/\/< Double-precision float data.$/;" e 844 PS_META_HASH include/psMetadata.h /^ PS_META_HASH, \/\/\/< Hash data (Stored in as psPtr ).$/;" e 845 PS_META_HASH src/astronomy/psMetadata.h /^ PS_META_HASH, \/\/\/< Hash data (Stored in as psPtr ).$/;" e 763 846 PS_META_IMG include/psMetadata.h /^ PS_META_IMG, \/\/\/< Image data (Stored in as psPtr ).$/;" e 764 847 PS_META_IMG src/astronomy/psMetadata.h /^ PS_META_IMG, \/\/\/< Image data (Stored in as psPtr ).$/;" e … … 767 850 PS_META_JPEG include/psMetadata.h /^ PS_META_JPEG, \/\/\/< JPEG data (Stored in as psPtr ).$/;" e 768 851 PS_META_JPEG src/astronomy/psMetadata.h /^ PS_META_JPEG, \/\/\/< JPEG data (Stored in as psPtr ).$/;" e 852 PS_META_LOOKUPTABLE include/psMetadata.h /^ PS_META_LOOKUPTABLE, \/\/\/< Lookup table data (Stored as void *).$/;" e 853 PS_META_LOOKUPTABLE src/astronomy/psMetadata.h /^ PS_META_LOOKUPTABLE, \/\/\/< Lookup table data (Stored as void *).$/;" e 769 854 PS_META_NTYPE include/psMetadata.h /^ PS_META_NTYPE \/\/\/< Number of types. Must be last.$/;" e 770 855 PS_META_NTYPE src/astronomy/psMetadata.h /^ PS_META_NTYPE \/\/\/< Number of types. Must be last.$/;" e … … 811 896 PS_ONE include/psConstants.h /^#define PS_ONE /;" d 812 897 PS_ONE src/dataManip/psConstants.h /^#define PS_ONE /;" d 898 PS_PARSE_ERROR_GENERAL include/psLookupTable.h /^ PS_PARSE_ERROR_GENERAL = 0x0104 \/\/\/< Any other type of lookup error$/;" e 899 PS_PARSE_ERROR_GENERAL src/fileUtils/psLookupTable.h /^ PS_PARSE_ERROR_GENERAL = 0x0104 \/\/\/< Any other type of lookup error$/;" e 900 PS_PARSE_ERROR_TYPE include/psLookupTable.h /^ PS_PARSE_ERROR_TYPE = 0x0101, \/\/\/< Error parsing type$/;" e 901 PS_PARSE_ERROR_TYPE src/fileUtils/psLookupTable.h /^ PS_PARSE_ERROR_TYPE = 0x0101, \/\/\/< Error parsing type$/;" e 902 PS_PARSE_ERROR_VALUE include/psLookupTable.h /^ PS_PARSE_ERROR_VALUE = 0x0102, \/\/\/< Error parsing numerical value$/;" e 903 PS_PARSE_ERROR_VALUE src/fileUtils/psLookupTable.h /^ PS_PARSE_ERROR_VALUE = 0x0102, \/\/\/< Error parsing numerical value$/;" e 904 PS_PARSE_SUCCESS include/psLookupTable.h /^ PS_PARSE_SUCCESS = 0x0000, \/\/\/< Table lookup succeeded$/;" e 905 PS_PARSE_SUCCESS src/fileUtils/psLookupTable.h /^ PS_PARSE_SUCCESS = 0x0000, \/\/\/< Table lookup succeeded$/;" e 813 906 PS_PHOTOMETRIC_H include/psPhotometry.h /^#define PS_PHOTOMETRIC_H$/;" d 814 907 PS_PHOTOMETRIC_H src/astronomy/psPhotometry.h /^#define PS_PHOTOMETRIC_H$/;" d … … 817 910 PS_POLYNOMIAL_ORD include/psFunctions.h /^ PS_POLYNOMIAL_ORD, \/\/\/< Ordinary Polynomial$/;" e 818 911 PS_POLYNOMIAL_ORD src/dataManip/psFunctions.h /^ PS_POLYNOMIAL_ORD, \/\/\/< Ordinary Polynomial$/;" e 912 PS_POLY_1D_DECLARE_ALLOC_STATIC include/psConstants.h /^#define PS_POLY_1D_DECLARE_ALLOC_STATIC(/;" d 913 PS_POLY_1D_DECLARE_ALLOC_STATIC src/dataManip/psConstants.h /^#define PS_POLY_1D_DECLARE_ALLOC_STATIC(/;" d 914 PS_POLY_1D_D_DECLARE_ALLOC_STATIC include/psConstants.h /^#define PS_POLY_1D_D_DECLARE_ALLOC_STATIC(/;" d 915 PS_POLY_1D_D_DECLARE_ALLOC_STATIC src/dataManip/psConstants.h /^#define PS_POLY_1D_D_DECLARE_ALLOC_STATIC(/;" d 916 PS_POLY_2D_DECLARE_ALLOC_STATIC include/psConstants.h /^#define PS_POLY_2D_DECLARE_ALLOC_STATIC(/;" d 917 PS_POLY_2D_DECLARE_ALLOC_STATIC src/dataManip/psConstants.h /^#define PS_POLY_2D_DECLARE_ALLOC_STATIC(/;" d 918 PS_POLY_2D_D_DECLARE_ALLOC_STATIC include/psConstants.h /^#define PS_POLY_2D_D_DECLARE_ALLOC_STATIC(/;" d 919 PS_POLY_2D_D_DECLARE_ALLOC_STATIC src/dataManip/psConstants.h /^#define PS_POLY_2D_D_DECLARE_ALLOC_STATIC(/;" d 920 PS_POLY_3D_DECLARE_ALLOC_STATIC include/psConstants.h /^#define PS_POLY_3D_DECLARE_ALLOC_STATIC(/;" d 921 PS_POLY_3D_DECLARE_ALLOC_STATIC src/dataManip/psConstants.h /^#define PS_POLY_3D_DECLARE_ALLOC_STATIC(/;" d 922 PS_POLY_3D_D_DECLARE_ALLOC_STATIC include/psConstants.h /^#define PS_POLY_3D_D_DECLARE_ALLOC_STATIC(/;" d 923 PS_POLY_3D_D_DECLARE_ALLOC_STATIC src/dataManip/psConstants.h /^#define PS_POLY_3D_D_DECLARE_ALLOC_STATIC(/;" d 924 PS_POLY_4D_DECLARE_ALLOC_STATIC include/psConstants.h /^#define PS_POLY_4D_DECLARE_ALLOC_STATIC(/;" d 925 PS_POLY_4D_DECLARE_ALLOC_STATIC src/dataManip/psConstants.h /^#define PS_POLY_4D_DECLARE_ALLOC_STATIC(/;" d 926 PS_POLY_4D_D_DECLARE_ALLOC_STATIC include/psConstants.h /^#define PS_POLY_4D_D_DECLARE_ALLOC_STATIC(/;" d 927 PS_POLY_4D_D_DECLARE_ALLOC_STATIC src/dataManip/psConstants.h /^#define PS_POLY_4D_D_DECLARE_ALLOC_STATIC(/;" d 819 928 PS_POLY_CHECK_NULL include/psConstants.h /^#define PS_POLY_CHECK_NULL(/;" d 820 929 PS_POLY_CHECK_NULL src/dataManip/psConstants.h /^#define PS_POLY_CHECK_NULL(/;" d … … 857 966 PS_RADIAN include/psCoord.h /^ PS_RADIAN \/\/\/< Radians$/;" e 858 967 PS_RADIAN src/astronomy/psCoord.h /^ PS_RADIAN \/\/\/< Radians$/;" e 968 PS_RANDOM_TAUS include/psRandom.h /^ PS_RANDOM_TAUS \/\/\/< A maximally equidistributed combined Tausworthe generator.$/;" e 969 PS_RANDOM_TAUS src/dataManip/psRandom.h /^ PS_RANDOM_TAUS \/\/\/< A maximally equidistributed combined Tausworthe generator.$/;" e 859 970 PS_READOUT_CHECK_EMPTY include/psConstants.h /^#define PS_READOUT_CHECK_EMPTY(/;" d 860 971 PS_READOUT_CHECK_EMPTY src/dataManip/psConstants.h /^#define PS_READOUT_CHECK_EMPTY(/;" d … … 910 1021 PS_STRING_H include/psString.h /^#define PS_STRING_H$/;" d 911 1022 PS_STRING_H src/sysUtils/psString.h /^#define PS_STRING_H$/;" d 912 PS_SYSUTILS_ERRORS_H src/astronomy/psAstronomyErrors.h /^#define PS_SYSUTILS_ERRORS_H$/;" d913 1023 PS_SYSUTILS_ERRORS_H src/sysUtils/psSysUtilsErrors.h /^#define PS_SYSUTILS_ERRORS_H$/;" d 1024 PS_THE_OTHER_DEFAULT_TRACE_LEVEL include/psTrace.h /^#define PS_THE_OTHER_DEFAULT_TRACE_LEVEL /;" d 1025 PS_THE_OTHER_DEFAULT_TRACE_LEVEL src/sysUtils/psTrace.h /^#define PS_THE_OTHER_DEFAULT_TRACE_LEVEL /;" d 914 1026 PS_TIME_TAI include/psTime.h /^ PS_TIME_TAI, \/\/\/< Temps Atomique International (TAI) time (time with leapseconds).$/;" e 915 1027 PS_TIME_TAI src/astronomy/psTime.h /^ PS_TIME_TAI, \/\/\/< Temps Atomique International (TAI) time (time with leapseconds).$/;" e … … 1044 1156 READOUT_NUM_COLS test/astronomy/tst_psAstrometry01.c /^#define READOUT_NUM_COLS /;" d file: 1045 1157 READOUT_NUM_ROWS test/astronomy/tst_psAstrometry01.c /^#define READOUT_NUM_ROWS /;" d file: 1158 RELATIVE_KERNEL_GENERATE_CASE src/image/psImageConvolve.c /^ #define RELATIVE_KERNEL_GENERATE_CASE(/;" d file: 1046 1159 RETURN_FINAL_BRACKET src/dataManip/psMinimize.c /^#define RETURN_FINAL_BRACKET(/;" d file: 1047 1160 ROT_ANGLE test/astronomy/tst_psAstrometry01.c /^#define ROT_ANGLE /;" d file: … … 1082 1195 SEC_PER_MINUTE src/astronomy/psTime.c /^ #define SEC_PER_MINUTE /;" d file: 1083 1196 SEC_PER_YEAR src/astronomy/psTime.c /^ #define SEC_PER_YEAR /;" d file: 1084 SER7_FILE src/astronomy/psTime.c /^#define SER7_FILE /;" d file:1085 1197 SLALIB_H include/slalib.h /^#define SLALIB_H$/;" d 1086 1198 SLALIB_H src/astronomy/slalib.h /^#define SLALIB_H$/;" d … … 1091 1203 STDEV test/dataManip/tst_psMinimize07.c /^#define STDEV /;" d file: 1092 1204 STDEV test/dataManip/tst_psStats07.c /^#define STDEV /;" d file: 1093 TAIUTC_FILE src/astronomy/psTime.c /^#define TAIUTC_FILE /;" d file:1094 1205 TEMPERATURE test/astronomy/tst_psAstrometry01.c /^#define TEMPERATURE /;" d file: 1095 1206 THRESHOLD test/image/tst_psImageStats02.c /^#define THRESHOLD /;" d file: 1207 TIME_CONFIG_FILE src/astronomy/psTime.c /^#define TIME_CONFIG_FILE /;" d file: 1096 1208 TPCheckBufferPositive test/sysUtils/tst_psMemory.c /^psS32 TPCheckBufferPositive( void )$/;" f 1097 1209 TPCheckBufferPositive test/sysUtils/tst_psMemory.c /^static psS32 TPCheckBufferPositive( void );$/;" p file: … … 1157 1269 VECTOR_SCALAR src/dataManip/psMatrixVectorArithmetic.c /^#define VECTOR_SCALAR(/;" d file: 1158 1270 VECTOR_VECTOR src/dataManip/psMatrixVectorArithmetic.c /^#define VECTOR_VECTOR(/;" d file: 1159 VeccalcScaleFactors src/image/psImageStats.c /^psVector *VeccalcScaleFactors(psVector *scalingFactors, psS32 n)$/;" f1160 1271 VectorFitPolynomial1DCheby src/dataManip/psMinimize.c /^psPolynomial1D *VectorFitPolynomial1DCheby(psPolynomial1D* myPoly,$/;" f 1161 1272 VectorFitPolynomial1DOrd src/dataManip/psMinimize.c /^psPolynomial1D* VectorFitPolynomial1DOrd(psPolynomial1D* myPoly,$/;" f … … 1168 1279 X_NUM_ROWS test/astronomy/tst_psAstrometry01.c /^#define X_NUM_ROWS /;" d file: 1169 1280 X_SCALE test/astronomy/tst_psAstrometry01.c /^#define X_SCALE /;" d file: 1170 Xo include/psCoord.h /^ double Xo; \/\/\/< First PT of Ares lon$/;" m1171 Xo src/astronomy/psCoord.h /^ double Xo; \/\/\/< First PT of Ares lon$/;" m1172 1281 Xs include/psCoord.h /^ double Xs; \/\/\/< plate-scale in X direction$/;" m 1173 1282 Xs src/astronomy/psCoord.h /^ double Xs; \/\/\/< plate-scale in X direction$/;" m … … 1181 1290 Ys src/astronomy/psCoord.h /^ double Ys; \/\/\/< plate-scale in Y direction$/;" m 1182 1291 ZD test/astronomy/tst_psAstrometry01.c /^#define ZD /;" d file: 1292 __STRICT_ANSI__ src/fileUtils/psLookupTable.c /^#define __STRICT_ANSI__$/;" d file: 1293 __STRICT_ANSI__ src/fileUtils/psLookupTable.c /^#undef __STRICT_ANSI__$/;" d file: 1183 1294 abberationMag include/psAstrometry.h /^ const double abberationMag; \/\/\/< magnitude of diurnal aberration vector$/;" m 1184 1295 abberationMag src/astronomy/psAstrometry.h /^ const double abberationMag; \/\/\/< magnitude of diurnal aberration vector$/;" m … … 1186 1297 airmass src/astronomy/psAstrometry.h /^ const float airmass; \/\/\/< Airmass, calculated from zenith distance$/;" m struct:psExposure 1187 1298 allocCallbackCalled test/sysUtils/tst_psMemory.c /^static psS32 allocCallbackCalled = 0;$/;" v file: 1299 alphaP include/psCoord.h /^ double alphaP; \/\/\/< Longitude of the target system pole in the source system$/;" m 1300 alphaP src/astronomy/psCoord.h /^ double alphaP; \/\/\/< Longitude of the target system pole in the source system$/;" m 1188 1301 arrayFree src/collections/psArray.c /^static void arrayFree(psArray* restrict psArr)$/;" f file: 1189 1302 arrayFree src/collections/psArray.c /^static void arrayFree(psArray* restrict psArr);$/;" p file: … … 1230 1343 chips src/astronomy/psAstrometry.h /^ psArray* chips; \/\/\/< chips in the focal plane array$/;" m struct:psFPA 1231 1344 cleanString src/astronomy/psMetadataIO.c /^char *cleanString(char *inString, psS32 sLen)$/;" f 1345 cleanString src/astronomy/psTime.c /^static char *cleanString(char *inString, int sLen)$/;" f file: 1346 cleanString src/astronomy/psTime.c /^static char *cleanString(char *inString, int sLen);$/;" p file: 1347 cleanString src/fileUtils/psLookupTable.c /^static char *cleanString(char *inString, int sLen)$/;" f file: 1348 cleanString src/fileUtils/psLookupTable.c /^static char *cleanString(char *inString, int sLen);$/;" p file: 1232 1349 clipIter include/psStats.h /^ psS32 clipIter; \/\/\/< Number of clipping iterations; user input$/;" m 1233 1350 clipIter src/dataManip/psStats.h /^ psS32 clipIter; \/\/\/< Number of clipping iterations; user input$/;" m … … 1297 1414 componentFree src/sysUtils/psTrace.c /^static void componentFree(p_psComponent* comp)$/;" f file: 1298 1415 componentFree src/sysUtils/psTrace.c /^static void componentFree(p_psComponent* comp);$/;" p file: 1416 convertPsMetadataTypeToBinaryTForm src/fileUtils/psFits.c /^static bool convertPsMetadataTypeToBinaryTForm(psMetadataType type, char** fitsType)$/;" f file: 1417 convertPsTypeToFits src/fileUtils/psFits.c /^static bool convertPsTypeToFits(psElemType type, int* bitPix, double* bZero, int* dataType)$/;" f file: 1418 cosDeltaP include/psCoord.h /^ double cosDeltaP; \/\/\/< Cosine of target pole latitude in the source system$/;" m 1419 cosDeltaP src/astronomy/psCoord.h /^ double cosDeltaP; \/\/\/< Cosine of target pole latitude in the source system$/;" m 1299 1420 cosLat include/psAstrometry.h /^ const double cosLat; \/\/\/< cosine of geodetic latitude$/;" m 1300 1421 cosLat src/astronomy/psAstrometry.h /^ const double cosLat; \/\/\/< cosine of geodetic latitude$/;" m 1301 cosPhi include/psCoord.h /^ double cosPhi; \/\/\/< cos of North Pole lattitude$/;" m1302 cosPhi src/astronomy/psCoord.h /^ double cosPhi; \/\/\/< cos of North Pole lattitude$/;" m1303 1422 createChebyshevPolys src/dataManip/psFunctions.c /^static psPolynomial1D **createChebyshevPolys(psS32 maxChebyPoly)$/;" f file: 1304 1423 currentId test/collections/tst_psHash03.c /^psS32 currentId = 0;$/;" v 1424 cursor include/psList.h /^psListElem* cursor; \/\/\/< current cursor position$/;" m 1425 cursor src/collections/psList.h /^psListElem* cursor; \/\/\/< current cursor position$/;" m 1305 1426 d include/psCoord.h /^ double d; \/\/\/< Dec$/;" m struct:psSphere 1306 1427 d src/astronomy/psCoord.h /^ double d; \/\/\/< Dec$/;" m struct:psSphere … … 1381 1502 file include/psMemory.h /^ const char *file; \/\/\/< set from __FILE__ in e.g. p_psAlloc$/;" m struct:psMemBlock 1382 1503 file src/sysUtils/psMemory.h /^ const char *file; \/\/\/< set from __FILE__ in e.g. p_psAlloc$/;" m struct:psMemBlock 1504 fileName include/psLookupTable.h /^ const char *fileName; \/\/\/< Name of file with table$/;" m 1505 fileName src/fileUtils/psLookupTable.h /^ const char *fileName; \/\/\/< Name of file with table$/;" m 1506 filename src/fileUtils/psFits.h /^ const char* filename; \/\/\/< the filename of the fits file$/;" m 1383 1507 filter include/psPhotometry.h /^ const char *filter; \/\/\/< Filter used for photometric system$/;" m 1384 1508 filter src/astronomy/psPhotometry.h /^ const char *filter; \/\/\/< Filter used for photometric system$/;" m … … 1386 1510 filterStdFiles testbin/FullUnitTest /^sub filterStdFiles {$/;" s 1387 1511 fitQuadraticSearchForYThenReturnX src/dataManip/psStats.c /^float fitQuadraticSearchForYThenReturnX(psVector *xVec,$/;" f 1512 fitsFree src/fileUtils/psFits.c /^static void fitsFree(psFits* fits)$/;" f file: 1388 1513 fixedPatternFree src/astronomy/psAstrometry.c /^static void fixedPatternFree(psFixedPattern* fp)$/;" f file: 1389 1514 free include/psMemory.h /^#define free(/;" d … … 1417 1542 fslaOapqk src/astronomy/slalib.h /^#define fslaOapqk /;" d 1418 1543 fslaOapqk src/astronomy/slalib.h /^extern void fslaOapqk($/;" p 1419 fullInterpolate1DF32 src/dataManip/psFunctions.c /^static float fullInterpolate1DF32(float *domain,$/;" f file:1420 1544 genGaussianVector test/dataManip/tst_psMinimize07.c /^psVector *genGaussianVector(int n, float mean, float stdev)$/;" f 1421 1545 genSystem test/astronomy/tst_psAstrometry01.c /^psFPA *genSystem()$/;" f … … 1423 1547 getErrorDescription src/sysUtils/psErrorCodes.c /^static const psErrorDescription* getErrorDescription(psErrorCode code);$/;" p file: 1424 1548 getToken src/astronomy/psMetadataIO.c /^char* getToken(char **inString, char *delimiter, psS32 *status)$/;" f 1549 getToken src/astronomy/psTime.c /^static char* getToken(char **inString, char *delimiter, psParseErrorType *status)$/;" f file: 1550 getToken src/astronomy/psTime.c /^static char* getToken(char **inString, char *delimiter, psParseErrorType *status);$/;" p file: 1551 getToken src/fileUtils/psLookupTable.c /^static char* getToken(char **inString, char *delimiter, psParseErrorType *status)$/;" f file: 1552 getToken src/fileUtils/psLookupTable.c /^static char* getToken(char **inString, char *delimiter, psParseErrorType *status);$/;" p file: 1425 1553 globalLogLevel src/sysUtils/psLogMsg.c /^static psS32 globalLogLevel = PS_LOG_INFO; \/\/ log all messages at this or above$/;" v file: 1426 1554 grommit include/psAstrometry.h /^ psGrommit *grommit; \/\/\/< Wallace's grommit$/;" m struct:psFPA 1427 1555 grommit src/astronomy/psAstrometry.h /^ psGrommit *grommit; \/\/\/< Wallace's grommit$/;" m struct:psFPA 1556 gsl include/psRandom.h /^ gsl_rng *gsl; \/\/\/< The RNG itself$/;" m 1557 gsl src/dataManip/psRandom.h /^ gsl_rng *gsl; \/\/\/< The RNG itself$/;" m 1428 1558 hashBucketAlloc src/collections/psHash.c /^static psHashBucket* hashBucketAlloc(const char *key, psPtr data, psHashBucket* next);$/;" p file: 1429 1559 hashBucketAlloc src/collections/psHash.c /^static psHashBucket* hashBucketAlloc(const char *key,$/;" f file: … … 1451 1581 id src/sysUtils/psMemory.h /^ const psMemoryId id; \/\/\/< a unique ID for this allocation$/;" m struct:psMemBlock 1452 1582 ignoreLine src/astronomy/psMetadataIO.c /^psBool ignoreLine(char *inString)$/;" f 1583 ignoreLine src/fileUtils/psLookupTable.c /^static bool ignoreLine(char *inString)$/;" f file: 1584 ignoreLine src/fileUtils/psLookupTable.c /^static bool ignoreLine(char *inString);$/;" p file: 1453 1585 imGlobal test/collections/tst_psHash01.c /^psS32 imGlobal = 0;$/;" v 1454 1586 imGlobal test/collections/tst_psHash02.c /^psS32 imGlobal = 0;$/;" v … … 1460 1592 image src/image/psImageConvolve.h /^ psImage* image; \/\/\/< Kernel data, in the form of an image$/;" m 1461 1593 imageFree src/image/psImage.c /^static void imageFree(psImage* image)$/;" f file: 1462 imageFree src/image/psImage.c /^static void imageFree(psImage* image);$/;" p file:1463 1594 imageSubset src/image/psImageExtraction.c /^psImage* imageSubset(psImage* out,$/;" f 1595 index include/psLookupTable.h /^ psVector *index; \/\/\/< Vector of independent index values$/;" m 1464 1596 index src/fileUtils/psLookupTable.h /^ psVector *index; \/\/\/< Vector of independent index values$/;" m 1465 1597 initTrace src/sysUtils/psTrace.c /^static void initTrace(void)$/;" f file: … … 1468 1600 isDuplicateEntry include/psTest.h /^ psBool isDuplicateEntry;$/;" m 1469 1601 isDuplicateEntry test/psTest.h /^ psBool isDuplicateEntry;$/;" m 1602 isHDUEmpty src/fileUtils/psFits.c /^static bool isHDUEmpty(psFits* fits)$/;" f file: 1470 1603 isProjectionLinear src/astronomy/psAstrometry.c /^static psS32 isProjectionLinear(psPlaneTransform *transform)$/;" f file: 1471 1604 items include/psMetadata.h /^ psList* restrict items; \/\/\/< List of psMetadataItems with same name.$/;" m struct:psMetadataItem 1472 1605 items src/astronomy/psMetadata.h /^ psList* restrict items; \/\/\/< List of psMetadataItems with same name.$/;" m struct:psMetadataItem 1473 iter include/psList.h /^ psListElem* iter; \/\/\/< iteration cursor$/;" m1474 1606 iter include/psMinimize.h /^ psS32 iter; \/\/\/< Number of iterations required$/;" m 1475 iter src/collections/psList.h /^ psListElem* iter; \/\/\/< iteration cursor$/;" m1476 1607 iter src/dataManip/psMinimize.h /^ psS32 iter; \/\/\/< Number of iterations required$/;" m 1477 iter Index include/psList.h /^ psU32 iterIndex; \/\/\/< the numeric position of the iteration cursor in the list$/;" m1478 iter Index src/collections/psList.h /^ psU32 iterIndex; \/\/\/< the numeric position of the iteration cursor in the list$/;" m1608 iterators include/psList.h /^ psArray* iterators; \/\/\/< iterators$/;" m 1609 iterators src/collections/psList.h /^ psArray* iterators; \/\/\/< iterators$/;" m 1479 1610 kernel include/psImageConvolve.h /^ psKernelType** kernel; \/\/\/< Pointer to the kernel data$/;" m 1480 1611 kernel src/image/psImageConvolve.h /^ psKernelType** kernel; \/\/\/< Pointer to the kernel data$/;" m … … 1494 1625 lineno include/psMemory.h /^ const psS32 lineno; \/\/\/< set from __LINE__ in e.g. p_psAlloc$/;" m struct:psMemBlock 1495 1626 lineno src/sysUtils/psMemory.h /^ const psS32 lineno; \/\/\/< set from __LINE__ in e.g. p_psAlloc$/;" m struct:psMemBlock 1627 list include/psList.h /^psList* list; \/\/\/< List iterator to works on$/;" m 1496 1628 list include/psMetadata.h /^ psList* restrict list; \/\/\/< the metadata in linked-list$/;" m struct:psMetadata 1497 1629 list src/astronomy/psMetadata.h /^ psList* restrict list; \/\/\/< the metadata in linked-list$/;" m struct:psMetadata 1630 list src/collections/psList.h /^psList* list; \/\/\/< List iterator to works on$/;" m 1498 1631 listFree src/collections/psList.c /^static void listFree(psList* list)$/;" f file: 1499 1632 listFree src/collections/psList.c /^static void listFree(psList* list);$/;" p file: … … 1517 1650 longitudeOffset include/psAstrometry.h /^ const double longitudeOffset; \/\/\/< longitude + ... (radians)$/;" m 1518 1651 longitudeOffset src/astronomy/psAstrometry.h /^ const double longitudeOffset; \/\/\/< longitude + ... (radians)$/;" m 1519 lookupSer7Table src/astronomy/psTime.c /^static double lookupSer7Table($/;" p file: 1520 lookupSer7Table src/astronomy/psTime.c /^static double lookupSer7Table(const psTime *time, psS32 col)$/;" f file: 1521 lookupTaiUtcTable src/astronomy/psTime.c /^static double lookupTaiUtcTable($/;" p file: 1522 lookupTaiUtcTable src/astronomy/psTime.c /^static double lookupTaiUtcTable(const psTime *time)$/;" f file: 1652 lookupTableFree src/fileUtils/psLookupTable.c /^static void lookupTableFree(psLookupTable* table)$/;" f file: 1653 lookupTableFree src/fileUtils/psLookupTable.c /^static void lookupTableFree(psLookupTable* table);$/;" p file: 1523 1654 lst include/psAstrometry.h /^ const double lst; \/\/\/< Local Sidereal Time$/;" m struct:psExposure 1524 1655 lst src/astronomy/psAstrometry.h /^ const double lst; \/\/\/< Local Sidereal Time$/;" m struct:psExposure … … 1533 1664 main test/astronomy/tst_psMetadata_05.c /^psS32 main( psS32 argc, char* argv[] )$/;" f 1534 1665 main test/astronomy/tst_psMetadata_06.c /^psS32 main( psS32 argc, char* argv[] )$/;" f 1666 main test/astronomy/tst_psMetadata_07.c /^int main(int argc, char* argv[])$/;" f 1535 1667 main test/astronomy/tst_psTime_01.c /^psS32 main(psS32 argc, char* argv[])$/;" f 1536 1668 main test/astronomy/tst_psTime_02.c /^psS32 main(psS32 argc, char* argv[])$/;" f 1537 1669 main test/astronomy/tst_psTime_03.c /^psS32 main(psS32 argc, char* argv[])$/;" f 1670 main test/astronomy/tst_psTime_04.c /^int main(int argc, char* argv[])$/;" f 1538 1671 main test/collections/tst_psArray.c /^psS32 main(psS32 argc,$/;" f 1672 main test/collections/tst_psArray01.c /^psS32 main(psS32 argc,$/;" f 1539 1673 main test/collections/tst_psBitSet.c /^psS32 main( psS32 argc, char* argv[] )$/;" f 1540 1674 main test/collections/tst_psHash00.c /^psS32 main()$/;" f … … 1592 1726 main test/dataManip/tst_psStats09.c /^psS32 main()$/;" f 1593 1727 main test/dataManip/tst_psVectorFFT.c /^psS32 main( psS32 argc, char* argv[] )$/;" f 1728 main test/fileUtils/tst_psLookupTable_01.c /^int main(int argc, char* argv[])$/;" f 1594 1729 main test/image/tst_psImage.c /^psS32 main(psS32 argc, char* argv[])$/;" f 1595 1730 main test/image/tst_psImageConvolve.c /^psS32 main(psS32 argc, char* argv[])$/;" f … … 1686 1821 myLogMsg test/sysUtils/tst_psLogMsg.c /^static void myLogMsg(const char *name,$/;" f file: 1687 1822 myPowellChi2Func src/dataManip/psMinimize.c /^float myPowellChi2Func(const psVector *params,$/;" f 1823 myStruct src/astronomy/psMetadataIO.c /^myStruct;$/;" t file: 1688 1824 myValue src/dataManip/psMinimize.c /^static psVector *myValue;$/;" v file: 1689 1825 n include/psArray.h /^ psU32 n; \/\/\/< Number of elements in use.$/;" m … … 1738 1874 nextBlock src/sysUtils/psMemory.h /^ struct psMemBlock* nextBlock; \/\/\/< next block allocation list$/;" m struct:psMemBlock 1739 1875 numCols include/psImage.h /^ const psU32 numCols; \/\/\/< Number of columns in image$/;" m struct:psImage 1876 numCols include/psLookupTable.h /^ psU64 numCols; \/\/\/< Number of table columns$/;" m 1877 numCols src/fileUtils/psLookupTable.h /^ psU64 numCols; \/\/\/< Number of table columns$/;" m 1740 1878 numCols src/image/psImage.h /^ const psU32 numCols; \/\/\/< Number of columns in image$/;" m struct:psImage 1741 1879 numRows include/psImage.h /^ const psU32 numRows; \/\/\/< Number of rows in image.$/;" m struct:psImage 1880 numRows include/psLookupTable.h /^ psU64 numRows; \/\/\/< Number of table rows$/;" m 1881 numRows src/fileUtils/psLookupTable.h /^ psU64 numRows; \/\/\/< Number of table rows$/;" m 1742 1882 numRows src/image/psImage.h /^ const psU32 numRows; \/\/\/< Number of rows in image.$/;" m struct:psImage 1883 number include/psList.h /^psU32 number; \/\/\/< List iterator number$/;" m 1884 number src/collections/psList.h /^psU32 number; \/\/\/< List iterator number$/;" m 1743 1885 nums include/psStats.h /^ psVector* nums; \/\/\/< Number in each of the bins (INT)$/;" m 1744 1886 nums src/dataManip/psStats.h /^ psVector* nums; \/\/\/< Number in each of the bins (INT)$/;" m … … 1748 1890 observatory src/astronomy/psAstrometry.h /^ const psObservatory* observatory; \/\/\/< Observatory data$/;" m struct:psExposure 1749 1891 observatoryFree src/astronomy/psAstrometry.c /^static void observatoryFree(psObservatory* obs)$/;" f file: 1892 offEnd include/psList.h /^bool offEnd; \/\/\/< Iterator off the end?$/;" m 1893 offEnd src/collections/psList.h /^bool offEnd; \/\/\/< Iterator off the end?$/;" m 1750 1894 options include/psStats.h /^ psStatsOptions options; \/\/\/< bitmask of calculated values$/;" m 1751 1895 options src/dataManip/psStats.h /^ psStatsOptions options; \/\/\/< bitmask of calculated values$/;" m … … 1760 1904 pP include/psPhotometry.h /^ psPhotSystem pP; \/\/\/< Primary color reference$/;" m 1761 1905 pP src/astronomy/psPhotometry.h /^ psPhotSystem pP; \/\/\/< Primary color reference$/;" m 1906 p_fd src/fileUtils/psFits.h /^ fitsfile* p_fd; \/\/\/< the CFITSIO fits files handle.$/;" m 1762 1907 p_fftwWisdomImported src/dataManip/psVectorFFT.c /^static psBool p_fftwWisdomImported = false;$/;" v file: 1763 1908 p_fftwWisdomImported src/image/psImageFFT.c /^static psBool p_fftwWisdomImported = false;$/;" v file: 1909 p_iter include/psList.h /^psListElem* p_iter; \/\/\/< internal cursor for increased performance index accessing$/;" m 1910 p_iter src/collections/psList.h /^psListElem* p_iter; \/\/\/< internal cursor for increased performance index accessing$/;" m 1911 p_iterIndex include/psList.h /^int p_iterIndex; \/\/\/< index position of the iter.$/;" m 1912 p_iterIndex src/collections/psList.h /^int p_iterIndex; \/\/\/< index position of the iter.$/;" m 1764 1913 p_kernelRows include/psImageConvolve.h /^ psKernelType** p_kernelRows; \/\/\/< Pointer to the rows of the kernel data; not intended for user use.$/;" m 1765 1914 p_kernelRows src/image/psImageConvolve.h /^ psKernelType** p_kernelRows; \/\/\/< Pointer to the rows of the kernel data; not intended for user use.$/;" m … … 1798 1947 p_psFree src/sysUtils/psMemory.c /^void p_psFree(psPtr vptr, const char *file, psS32 lineno)$/;" f 1799 1948 p_psFree src/sysUtils/psMemory.h /^void p_psFree($/;" p 1949 p_psGaussianDev include/psFunctions.h /^psVector* p_psGaussianDev($/;" p 1950 p_psGaussianDev src/dataManip/psFunctions.c /^psVector* p_psGaussianDev(float mean, float sigma, psS32 Npts)$/;" f 1951 p_psGaussianDev src/dataManip/psFunctions.h /^psVector* p_psGaussianDev($/;" p 1800 1952 p_psGetStatValue include/psStats.h /^psBool p_psGetStatValue($/;" p 1801 1953 p_psGetStatValue src/dataManip/psStats.c /^psBool p_psGetStatValue(const psStats* stats, double *value)$/;" f … … 1805 1957 p_psImagePixelInterpolateFcns include/psImage.h /^#define p_psImagePixelInterpolateFcns(/;" d 1806 1958 p_psImagePixelInterpolateFcns src/image/psImage.h /^#define p_psImagePixelInterpolateFcns(/;" d 1959 p_psInitMetadataItemXml src/astronomy/psMetadataIO.c /^static void p_psInitMetadataItemXml(void *ctx, char *tagName)$/;" f file: 1960 p_psInitMetadataItemXml src/astronomy/psMetadataIO.c /^static void p_psInitMetadataItemXml(void *ctx, char *tagName);$/;" p file: 1961 p_psInitVectorXml src/astronomy/psMetadataIO.c /^static void p_psInitVectorXml(void *ctx, char *tagName)$/;" f file: 1962 p_psInitVectorXml src/astronomy/psMetadataIO.c /^static void p_psInitVectorXml(void *ctx, char *tagName);$/;" p file: 1807 1963 p_psLineMin src/dataManip/psMinimize.c /^float p_psLineMin(psMinimization *min,$/;" f 1808 1964 p_psMemAllocateID src/sysUtils/psMemory.c /^psMemoryId p_psMemAllocateID = 0; \/\/ notify user this block is allocated$/;" v … … 1828 1984 p_psNRSpline1DEval include/psFunctions.h /^float p_psNRSpline1DEval(psSpline1D *spline,$/;" p 1829 1985 p_psNRSpline1DEval src/dataManip/psFunctions.h /^float p_psNRSpline1DEval(psSpline1D *spline,$/;" p 1830 p_psNormalizeVectorRangeF32 src/dataManip/psStats.c /^void p_psNormalizeVectorRangeF32(psVector* myData,$/;" f 1831 p_psNormalizeVectorRangeF64 src/dataManip/psStats.c /^void p_psNormalizeVectorRangeF64(psVector* myData,$/;" f 1986 p_psNormalizeVectorRangeF32 include/psStats.h /^void p_psNormalizeVectorRangeF32(psVector* myData, psF32 low, psF32 high);$/;" p 1987 p_psNormalizeVectorRangeF32 src/dataManip/psStats.h /^void p_psNormalizeVectorRangeF32(psVector* myData, psF32 low, psF32 high);$/;" p 1988 p_psNormalizeVectorRangeF64 include/psStats.h /^void p_psNormalizeVectorRangeF64(psVector* myData, psF64 low, psF64 high);$/;" p 1989 p_psNormalizeVectorRangeF64 src/dataManip/psStats.h /^void p_psNormalizeVectorRangeF64(psVector* myData, psF64 low, psF64 high);$/;" p 1990 p_psNormalizeVectorRangeS16 include/psStats.h /^void p_psNormalizeVectorRangeS16(psVector* myData, psS16 low, psS16 high);$/;" p 1991 p_psNormalizeVectorRangeS16 src/dataManip/psStats.h /^void p_psNormalizeVectorRangeS16(psVector* myData, psS16 low, psS16 high);$/;" p 1992 p_psNormalizeVectorRangeS32 include/psStats.h /^void p_psNormalizeVectorRangeS32(psVector* myData, psS32 low, psS32 high);$/;" p 1993 p_psNormalizeVectorRangeS32 src/dataManip/psStats.h /^void p_psNormalizeVectorRangeS32(psVector* myData, psS32 low, psS32 high);$/;" p 1994 p_psNormalizeVectorRangeS64 include/psStats.h /^void p_psNormalizeVectorRangeS64(psVector* myData, psS64 low, psS64 high);$/;" p 1995 p_psNormalizeVectorRangeS64 src/dataManip/psStats.h /^void p_psNormalizeVectorRangeS64(psVector* myData, psS64 low, psS64 high);$/;" p 1996 p_psNormalizeVectorRangeS8 include/psStats.h /^void p_psNormalizeVectorRangeS8(psVector* myData, psS8 low, psS8 high);$/;" p 1997 p_psNormalizeVectorRangeS8 src/dataManip/psStats.h /^void p_psNormalizeVectorRangeS8(psVector* myData, psS8 low, psS8 high);$/;" p 1998 p_psNormalizeVectorRangeU16 include/psStats.h /^void p_psNormalizeVectorRangeU16(psVector* myData, psU16 low, psU16 high);$/;" p 1999 p_psNormalizeVectorRangeU16 src/dataManip/psStats.h /^void p_psNormalizeVectorRangeU16(psVector* myData, psU16 low, psU16 high);$/;" p 2000 p_psNormalizeVectorRangeU32 include/psStats.h /^void p_psNormalizeVectorRangeU32(psVector* myData, psU32 low, psU32 high);$/;" p 2001 p_psNormalizeVectorRangeU32 src/dataManip/psStats.h /^void p_psNormalizeVectorRangeU32(psVector* myData, psU32 low, psU32 high);$/;" p 2002 p_psNormalizeVectorRangeU64 include/psStats.h /^void p_psNormalizeVectorRangeU64(psVector* myData, psU64 low, psU64 high);$/;" p 2003 p_psNormalizeVectorRangeU64 src/dataManip/psStats.h /^void p_psNormalizeVectorRangeU64(psVector* myData, psU64 low, psU64 high);$/;" p 2004 p_psNormalizeVectorRangeU8 include/psStats.h /^void p_psNormalizeVectorRangeU8(psVector* myData, psU8 low, psU8 high);$/;" p 2005 p_psNormalizeVectorRangeU8 src/dataManip/psStats.h /^void p_psNormalizeVectorRangeU8(psVector* myData, psU8 low, psU8 high);$/;" p 1832 2006 p_psRealloc include/psMemory.h /^psPtr p_psRealloc($/;" p 1833 2007 p_psRealloc src/sysUtils/psMemory.c /^psPtr p_psRealloc(psPtr vptr, size_t size, const char *file, psS32 lineno)$/;" f … … 1842 2016 p_psTraceReset src/sysUtils/psTrace.c /^void p_psTraceReset(p_psComponent* currentNode)$/;" f 1843 2017 p_psVectorBinDisect include/psFunctions.h /^psS32 p_psVectorBinDisect(psVector *bins,$/;" p 1844 p_psVectorBinDisect src/dataManip/psFunctions.c /^psS32 p_psVectorBinDisect(psVector *bins,$/;" f1845 2018 p_psVectorBinDisect src/dataManip/psFunctions.h /^psS32 p_psVectorBinDisect(psVector *bins,$/;" p 2019 p_psVectorCheckNonEmpty src/dataManip/psStats.c /^bool p_psVectorCheckNonEmpty(const psVector* restrict myVector,$/;" f 1846 2020 p_psVectorClippedStats src/dataManip/psStats.c /^int p_psVectorClippedStats(const psVector* restrict myVector,$/;" f 1847 2021 p_psVectorInterpolate include/psFunctions.h /^psScalar *p_psVectorInterpolate(psVector *domain,$/;" p 1848 2022 p_psVectorInterpolate src/dataManip/psFunctions.c /^psScalar *p_psVectorInterpolate(psVector *domain,$/;" f 1849 2023 p_psVectorInterpolate src/dataManip/psFunctions.h /^psScalar *p_psVectorInterpolate(psVector *domain,$/;" p 1850 p_psVectorMax src/dataManip/psStats.c /^ voidp_psVectorMax(const psVector* restrict myVector,$/;" f1851 p_psVectorMin src/dataManip/psStats.c /^ voidp_psVectorMin(const psVector* restrict myVector,$/;" f2024 p_psVectorMax src/dataManip/psStats.c /^int p_psVectorMax(const psVector* restrict myVector,$/;" f 2025 p_psVectorMin src/dataManip/psStats.c /^int p_psVectorMin(const psVector* restrict myVector,$/;" f 1852 2026 p_psVectorNValues src/dataManip/psStats.c /^psS32 p_psVectorNValues(const psVector* restrict myVector,$/;" f 1853 2027 p_psVectorRobustStats src/dataManip/psStats.c /^int p_psVectorRobustStats(const psVector* restrict myVector,$/;" f 1854 p_psVectorRobustStats src/dataManip/psStats.c /^int p_psVectorRobustStats(const psVector* restrict myVector,$/;" p file: 1855 p_psVectorSampleMean src/dataManip/psStats.c /^void p_psVectorSampleMean(const psVector* restrict myVector,$/;" f 1856 p_psVectorSampleMedian src/dataManip/psStats.c /^void p_psVectorSampleMedian(const psVector* restrict myVector,$/;" f 1857 p_psVectorSampleQuartiles src/dataManip/psStats.c /^void p_psVectorSampleQuartiles(const psVector* restrict myVector,$/;" f 2028 p_psVectorSampleMean src/dataManip/psStats.c /^int p_psVectorSampleMean(const psVector* restrict myVector,$/;" f 2029 p_psVectorSampleMedian src/dataManip/psStats.c /^bool p_psVectorSampleMedian(const psVector* restrict myVector,$/;" f 2030 p_psVectorSampleQuartiles src/dataManip/psStats.c /^bool p_psVectorSampleQuartiles(const psVector* restrict myVector,$/;" f 1858 2031 p_psVectorSampleStdev src/dataManip/psStats.c /^void p_psVectorSampleStdev(const psVector* restrict myVector,$/;" f 1859 2032 p_psVectorSmoothHistGaussian src/dataManip/psStats.c /^psVector* p_psVectorSmoothHistGaussian(psHistogram* robustHistogram,$/;" f … … 1872 2045 p_runTestSuite test/psTest.c /^psBool p_runTestSuite( FILE *fp, const char* testPointFile, const char* packageName,$/;" f 1873 2046 p_runTestSuite test/psTest.h /^psBool p_runTestSuite($/;" p 2047 p_saxEndElement src/astronomy/psMetadataIO.c /^static void p_saxEndElement(void *ctx, const xmlChar *tagName)$/;" f file: 2048 p_saxEndElement src/astronomy/psMetadataIO.c /^static void p_saxEndElement(void *ctx, const xmlChar *tagName);$/;" p file: 2049 p_saxStartElement src/astronomy/psMetadataIO.c /^static void p_saxStartElement(void *ctx, const xmlChar *tagName, const xmlChar **atts)$/;" f file: 2050 p_saxStartElement src/astronomy/psMetadataIO.c /^static void p_saxStartElement(void *ctx, const xmlChar *tagName, const xmlChar **atts);$/;" p file: 1874 2051 parallacticAngle include/psAstrometry.h /^ const float parallacticAngle; \/\/\/< Parallactic angle$/;" m struct:psExposure 1875 2052 parallacticAngle src/astronomy/psAstrometry.h /^ const float parallacticAngle; \/\/\/< Parallactic angle$/;" m struct:psExposure … … 1883 2060 parent src/image/psImage.h /^ const struct psImage* parent; \/\/\/< Parent, if a subimage.$/;" m struct:psImage 1884 2061 parseBool src/astronomy/psMetadataIO.c /^psBool parseBool(char *inString, psS32 *status)$/;" f 2062 parseF32 src/fileUtils/psLookupTable.c /^static psF32 parseF32(char *inString, psParseErrorType *status)$/;" f file: 2063 parseF32 src/fileUtils/psLookupTable.c /^static psF32 parseF32(char *inString, psParseErrorType *status);$/;" p file: 2064 parseF64 src/fileUtils/psLookupTable.c /^static psF64 parseF64(char *inString, psParseErrorType *status)$/;" f file: 2065 parseF64 src/fileUtils/psLookupTable.c /^static psF64 parseF64(char *inString, psParseErrorType *status);$/;" p file: 2066 parseS16 src/fileUtils/psLookupTable.c /^static psS16 parseS16(char *inString, psParseErrorType *status)$/;" f file: 2067 parseS16 src/fileUtils/psLookupTable.c /^static psS16 parseS16(char *inString, psParseErrorType *status);$/;" p file: 2068 parseS32 src/fileUtils/psLookupTable.c /^static psS32 parseS32(char *inString, psParseErrorType *status)$/;" f file: 2069 parseS32 src/fileUtils/psLookupTable.c /^static psS32 parseS32(char *inString, psParseErrorType *status);$/;" p file: 2070 parseS64 src/fileUtils/psLookupTable.c /^static psS64 parseS64(char *inString, psParseErrorType *status)$/;" f file: 2071 parseS64 src/fileUtils/psLookupTable.c /^static psS64 parseS64(char *inString, psParseErrorType *status);$/;" p file: 2072 parseS8 src/fileUtils/psLookupTable.c /^static psS8 parseS8(char *inString, psParseErrorType *status)$/;" f file: 2073 parseS8 src/fileUtils/psLookupTable.c /^static psS8 parseS8(char *inString, psParseErrorType *status);$/;" p file: 2074 parseU16 src/fileUtils/psLookupTable.c /^static psU16 parseU16(char *inString, psParseErrorType *status)$/;" f file: 2075 parseU16 src/fileUtils/psLookupTable.c /^static psU16 parseU16(char *inString, psParseErrorType *status);$/;" p file: 2076 parseU32 src/fileUtils/psLookupTable.c /^static psU32 parseU32(char *inString, psParseErrorType *status)$/;" f file: 2077 parseU32 src/fileUtils/psLookupTable.c /^static psU32 parseU32(char *inString, psParseErrorType *status);$/;" p file: 2078 parseU64 src/fileUtils/psLookupTable.c /^static psU64 parseU64(char *inString, psParseErrorType *status)$/;" f file: 2079 parseU64 src/fileUtils/psLookupTable.c /^static psU64 parseU64(char *inString, psParseErrorType *status);$/;" p file: 2080 parseU8 src/fileUtils/psLookupTable.c /^static psU8 parseU8(char *inString, psParseErrorType *status)$/;" f file: 2081 parseU8 src/fileUtils/psLookupTable.c /^static psU8 parseU8(char *inString, psParseErrorType *status);$/;" p file: 1885 2082 parseValue src/astronomy/psMetadataIO.c /^double parseValue(char *inString, psS32 *status)$/;" f 2083 parseValue src/fileUtils/psLookupTable.c /^static void parseValue(psVector *vec, psU64 index, char* strValue, psParseErrorType *status)$/;" f file: 2084 parseValue src/fileUtils/psLookupTable.c /^static void parseValue(psVector *vec, psU64 index, char* strValue, psParseErrorType *status);$/;" p file: 1886 2085 parseVector src/astronomy/psMetadataIO.c /^psVector* parseVector(char *inString, psElemType elemType, psS32 *status)$/;" f 1887 2086 pattern include/psAstrometry.h /^ psFixedPattern* pattern; \/\/\/< fixed pattern residual offsets$/;" m struct:psFPA … … 1889 2088 persistent include/psMemory.h /^ psBool persistent; \/\/\/< marks if this non-user persistent data like error stack, etc.$/;" m struct:psMemBlock 1890 2089 persistent src/sysUtils/psMemory.h /^ psBool persistent; \/\/\/< marks if this non-user persistent data like error stack, etc.$/;" m struct:psMemBlock 2090 phiP include/psCoord.h /^ double phiP; \/\/\/< Longitude of the ascending node in the target system$/;" m 2091 phiP src/astronomy/psCoord.h /^ double phiP; \/\/\/< Longitude of the ascending node in the target system$/;" m 1891 2092 planeDistortFree src/astronomy/psCoord.c /^static void planeDistortFree(psPlaneDistort *pt)$/;" f file: 1892 2093 planeTransformFree src/astronomy/psCoord.c /^static void planeTransformFree(psPlaneTransform *pt)$/;" f file: … … 1910 2111 previousBlock src/sysUtils/psMemory.h /^ struct psMemBlock* previousBlock; \/\/\/< previous block in allocation list$/;" m struct:psMemBlock 1911 2112 printCell test/astronomy/tst_psAstrometry01.c /^psS32 printCell(psCell *cell)$/;" f 2113 printError src/fileUtils/psLookupTable.c /^static psParseErrorType printError(psU64 lineCount, char* badText, psParseErrorType status)$/;" f file: 1912 2114 printFooter include/psTest.h /^#define printFooter(/;" d 1913 2115 printFooter test/psTest.h /^#define printFooter(/;" d … … 2150 2352 psDPolynomial1DAlloc src/dataManip/psFunctions.h /^psDPolynomial1D* psDPolynomial1DAlloc($/;" p 2151 2353 psDPolynomial1DEval include/psFunctions.h /^double psDPolynomial1DEval($/;" p 2152 psDPolynomial1DEval src/dataManip/psFunctions.c /^double psDPolynomial1DEval( double x, const psDPolynomial1D* myPoly)$/;" f2354 psDPolynomial1DEval src/dataManip/psFunctions.c /^double psDPolynomial1DEval(const psDPolynomial1D* myPoly, double x)$/;" f 2153 2355 psDPolynomial1DEval src/dataManip/psFunctions.h /^double psDPolynomial1DEval($/;" p 2154 psDPolynomial1DEvalVector include/psFunctions.h /^psVector *psDPolynomial1DEvalVector( const psVector *x, \/\/\/< x locations at which to evaluate$/;" p2155 psDPolynomial1DEvalVector src/dataManip/psFunctions.c /^psVector *psDPolynomial1DEvalVector(const ps Vector *x,$/;" f2156 psDPolynomial1DEvalVector src/dataManip/psFunctions.h /^psVector *psDPolynomial1DEvalVector( const psVector *x, \/\/\/< x locations at which to evaluate$/;" p2356 psDPolynomial1DEvalVector include/psFunctions.h /^psVector *psDPolynomial1DEvalVector($/;" p 2357 psDPolynomial1DEvalVector src/dataManip/psFunctions.c /^psVector *psDPolynomial1DEvalVector(const psDPolynomial1D *myPoly,$/;" f 2358 psDPolynomial1DEvalVector src/dataManip/psFunctions.h /^psVector *psDPolynomial1DEvalVector($/;" p 2157 2359 psDPolynomial2D include/psFunctions.h /^psDPolynomial2D;$/;" t 2158 2360 psDPolynomial2D src/dataManip/psFunctions.h /^psDPolynomial2D;$/;" t … … 2161 2363 psDPolynomial2DAlloc src/dataManip/psFunctions.h /^psDPolynomial2D* psDPolynomial2DAlloc($/;" p 2162 2364 psDPolynomial2DEval include/psFunctions.h /^double psDPolynomial2DEval($/;" p 2163 psDPolynomial2DEval src/dataManip/psFunctions.c /^double psDPolynomial2DEval( double x, double y, const psDPolynomial2D* myPoly)$/;" f2365 psDPolynomial2DEval src/dataManip/psFunctions.c /^double psDPolynomial2DEval(const psDPolynomial2D* myPoly,$/;" f 2164 2366 psDPolynomial2DEval src/dataManip/psFunctions.h /^double psDPolynomial2DEval($/;" p 2165 psDPolynomial2DEvalVector include/psFunctions.h /^psVector *psDPolynomial2DEvalVector( const psVector *x, \/\/\/< x locations at which to evaluate$/;" p2166 psDPolynomial2DEvalVector src/dataManip/psFunctions.c /^psVector *psDPolynomial2DEvalVector(const ps Vector *x,$/;" f2167 psDPolynomial2DEvalVector src/dataManip/psFunctions.h /^psVector *psDPolynomial2DEvalVector( const psVector *x, \/\/\/< x locations at which to evaluate$/;" p2367 psDPolynomial2DEvalVector include/psFunctions.h /^psVector *psDPolynomial2DEvalVector($/;" p 2368 psDPolynomial2DEvalVector src/dataManip/psFunctions.c /^psVector *psDPolynomial2DEvalVector(const psDPolynomial2D *myPoly,$/;" f 2369 psDPolynomial2DEvalVector src/dataManip/psFunctions.h /^psVector *psDPolynomial2DEvalVector($/;" p 2168 2370 psDPolynomial3D include/psFunctions.h /^psDPolynomial3D;$/;" t 2169 2371 psDPolynomial3D src/dataManip/psFunctions.h /^psDPolynomial3D;$/;" t … … 2172 2374 psDPolynomial3DAlloc src/dataManip/psFunctions.h /^psDPolynomial3D* psDPolynomial3DAlloc($/;" p 2173 2375 psDPolynomial3DEval include/psFunctions.h /^double psDPolynomial3DEval($/;" p 2174 psDPolynomial3DEval src/dataManip/psFunctions.c /^double psDPolynomial3DEval( double x, double y, double z, const psDPolynomial3D* myPoly)$/;" f2376 psDPolynomial3DEval src/dataManip/psFunctions.c /^double psDPolynomial3DEval(const psDPolynomial3D* myPoly,$/;" f 2175 2377 psDPolynomial3DEval src/dataManip/psFunctions.h /^double psDPolynomial3DEval($/;" p 2176 psDPolynomial3DEvalVector include/psFunctions.h /^psVector *psDPolynomial3DEvalVector( const psVector *x, \/\/\/< x locations at which to evaluate$/;" p2177 psDPolynomial3DEvalVector src/dataManip/psFunctions.c /^psVector *psDPolynomial3DEvalVector(const ps Vector *x,$/;" f2178 psDPolynomial3DEvalVector src/dataManip/psFunctions.h /^psVector *psDPolynomial3DEvalVector( const psVector *x, \/\/\/< x locations at which to evaluate$/;" p2378 psDPolynomial3DEvalVector include/psFunctions.h /^psVector *psDPolynomial3DEvalVector($/;" p 2379 psDPolynomial3DEvalVector src/dataManip/psFunctions.c /^psVector *psDPolynomial3DEvalVector(const psDPolynomial3D *myPoly,$/;" f 2380 psDPolynomial3DEvalVector src/dataManip/psFunctions.h /^psVector *psDPolynomial3DEvalVector($/;" p 2179 2381 psDPolynomial4D include/psFunctions.h /^psDPolynomial4D;$/;" t 2180 2382 psDPolynomial4D src/dataManip/psFunctions.h /^psDPolynomial4D;$/;" t … … 2183 2385 psDPolynomial4DAlloc src/dataManip/psFunctions.h /^psDPolynomial4D* psDPolynomial4DAlloc($/;" p 2184 2386 psDPolynomial4DEval include/psFunctions.h /^double psDPolynomial4DEval($/;" p 2185 psDPolynomial4DEval src/dataManip/psFunctions.c /^double psDPolynomial4DEval( double w, double x, double y, double z, const psDPolynomial4D* myPoly)$/;" f2387 psDPolynomial4DEval src/dataManip/psFunctions.c /^double psDPolynomial4DEval(const psDPolynomial4D* myPoly,$/;" f 2186 2388 psDPolynomial4DEval src/dataManip/psFunctions.h /^double psDPolynomial4DEval($/;" p 2187 psDPolynomial4DEvalVector include/psFunctions.h /^psVector *psDPolynomial4DEvalVector( const psVector *w, \/\/\/< w locations at which to evaluate$/;" p2188 psDPolynomial4DEvalVector src/dataManip/psFunctions.c /^psVector *psDPolynomial4DEvalVector(const ps Vector *w,$/;" f2189 psDPolynomial4DEvalVector src/dataManip/psFunctions.h /^psVector *psDPolynomial4DEvalVector( const psVector *w, \/\/\/< w locations at which to evaluate$/;" p2389 psDPolynomial4DEvalVector include/psFunctions.h /^psVector *psDPolynomial4DEvalVector($/;" p 2390 psDPolynomial4DEvalVector src/dataManip/psFunctions.c /^psVector *psDPolynomial4DEvalVector(const psDPolynomial4D *myPoly,$/;" f 2391 psDPolynomial4DEvalVector src/dataManip/psFunctions.h /^psVector *psDPolynomial4DEvalVector($/;" p 2190 2392 psDeproject include/psCoord.h /^psSphere* psDeproject($/;" p 2191 2393 psDeproject src/astronomy/psCoord.c /^psSphere* psDeproject(const psPlane* coord,$/;" f … … 2241 2443 psF64 include/psType.h /^typedef double psF64; \/\/\/< 64-bit floating point$/;" t 2242 2444 psF64 src/sysUtils/psType.h /^typedef double psF64; \/\/\/< 64-bit floating point$/;" t 2445 psFFTFlags include/psVectorFFT.h /^} psFFTFlags;$/;" t 2446 psFFTFlags src/dataManip/psVectorFFT.h /^} psFFTFlags;$/;" t 2243 2447 psFPA include/psAstrometry.h /^psFPA;$/;" t 2244 2448 psFPA include/psAstrometry.h /^typedef struct psFPA$/;" s … … 2248 2452 psFPAAlloc src/astronomy/psAstrometry.c /^psFPA* psFPAAlloc(psS32 nChips,$/;" f 2249 2453 psFPAAlloc src/astronomy/psAstrometry.h /^psFPA* psFPAAlloc($/;" p 2250 psFftDirection include/psVectorFFT.h /^} psFftDirection;$/;" t 2251 psFftDirection src/dataManip/psVectorFFT.h /^} psFftDirection;$/;" t 2454 psFits src/fileUtils/psFits.h /^psFits;$/;" t 2455 psFitsAlloc src/fileUtils/psFits.c /^psFits* psFitsAlloc(const char* name, \/\/\/< the FITS file name$/;" f 2456 psFitsAlloc src/fileUtils/psFits.h /^psFits* psFitsAlloc($/;" p 2457 psFitsCreateExt src/fileUtils/psFits.c /^bool psFitsCreateExt(psFits* fits)$/;" f 2458 psFitsCreateExt src/fileUtils/psFits.h /^bool psFitsCreateExt($/;" p 2459 psFitsGetExtName src/fileUtils/psFits.c /^char* psFitsGetExtName(psFits* fits)$/;" f 2460 psFitsGetExtName src/fileUtils/psFits.h /^char* psFitsGetExtName($/;" p 2461 psFitsGetExtNum src/fileUtils/psFits.c /^int psFitsGetExtNum(psFits* fits)$/;" f 2462 psFitsGetExtNum src/fileUtils/psFits.h /^int psFitsGetExtNum($/;" p 2463 psFitsGetExtType src/fileUtils/psFits.c /^psFitsType psFitsGetExtType(psFits* fits)$/;" f 2464 psFitsGetExtType src/fileUtils/psFits.h /^psFitsType psFitsGetExtType($/;" p 2465 psFitsGetSize src/fileUtils/psFits.c /^int psFitsGetSize(psFits* fits)$/;" f 2466 psFitsGetSize src/fileUtils/psFits.h /^int psFitsGetSize($/;" p 2467 psFitsMoveExtName src/fileUtils/psFits.c /^psFitsType psFitsMoveExtName(psFits* fits,$/;" f 2468 psFitsMoveExtName src/fileUtils/psFits.h /^psFitsType psFitsMoveExtName($/;" p 2469 psFitsMoveExtNum src/fileUtils/psFits.c /^psFitsType psFitsMoveExtNum(psFits* fits,$/;" f 2470 psFitsMoveExtNum src/fileUtils/psFits.h /^psFitsType psFitsMoveExtNum($/;" p 2471 psFitsReadHeader src/fileUtils/psFits.c /^psMetadata* psFitsReadHeader(psMetadata* out,$/;" f 2472 psFitsReadHeader src/fileUtils/psFits.h /^psMetadata* psFitsReadHeader($/;" p 2473 psFitsReadHeaderSet src/fileUtils/psFits.c /^psHash* psFitsReadHeaderSet(psHash* out,$/;" f 2474 psFitsReadHeaderSet src/fileUtils/psFits.h /^psHash* psFitsReadHeaderSet($/;" p 2475 psFitsReadTable src/fileUtils/psFits.c /^psArray* psFitsReadTable(psFits* fits)$/;" f 2476 psFitsReadTable src/fileUtils/psFits.h /^psArray* psFitsReadTable($/;" p 2477 psFitsReadTableColumn src/fileUtils/psFits.c /^psArray* psFitsReadTableColumn(psFits* fits,$/;" f 2478 psFitsReadTableColumn src/fileUtils/psFits.h /^psArray* psFitsReadTableColumn($/;" p 2479 psFitsReadTableColumnNum src/fileUtils/psFits.c /^psVector* psFitsReadTableColumnNum(psFits* fits,$/;" f 2480 psFitsReadTableColumnNum src/fileUtils/psFits.h /^psVector* psFitsReadTableColumnNum($/;" p 2481 psFitsReadTableRow src/fileUtils/psFits.c /^psMetadata* psFitsReadTableRow(psFits* fits,$/;" f 2482 psFitsReadTableRow src/fileUtils/psFits.h /^psMetadata* psFitsReadTableRow($/;" p 2483 psFitsType src/fileUtils/psFits.h /^} psFitsType;$/;" t 2484 psFitsWriteHeader src/fileUtils/psFits.h /^bool psFitsWriteHeader($/;" p 2485 psFitsWriteImage src/fileUtils/psFits.c /^bool psFitsWriteImage(psFits* fits,$/;" f 2486 psFitsWriteImageSection src/fileUtils/psFits.h /^bool psFitsWriteImageSection($/;" p 2487 psFitsWriteTable src/fileUtils/psFits.c /^bool psFitsWriteTable(psFits* fits,$/;" f 2488 psFitsWriteTable src/fileUtils/psFits.h /^bool psFitsWriteTable($/;" p 2252 2489 psFixedPattern include/psAstrometry.h /^psFixedPattern;$/;" t 2253 2490 psFixedPattern src/astronomy/psAstrometry.h /^psFixedPattern;$/;" t … … 2264 2501 psGaussian src/dataManip/psFunctions.c /^float psGaussian(float x, float mean, float sigma, psBool normal)$/;" f 2265 2502 psGaussian src/dataManip/psFunctions.h /^float psGaussian($/;" p 2266 psGaussianDev include/psFunctions.h /^psVector* psGaussianDev($/;" p2267 psGaussianDev src/dataManip/psFunctions.c /^psVector* psGaussianDev(float mean, float sigma, psS32 Npts)$/;" f2268 psGaussianDev src/dataManip/psFunctions.h /^psVector* psGaussianDev($/;" p2269 2503 psGrommit include/psAstrometry.h /^psGrommit;$/;" t 2270 2504 psGrommit src/astronomy/psAstrometry.h /^psGrommit;$/;" t … … 2344 2578 psImageEvalPolynomial src/image/psImageStats.h /^psImage* psImageEvalPolynomial($/;" p 2345 2579 psImageFFT include/psImageFFT.h /^psImage* psImageFFT($/;" p 2346 psImageFFT src/image/psImageFFT.c /^psImage* psImageFFT(psImage* out, const psImage* in, psF ftDirectiondirection)$/;" f2580 psImageFFT src/image/psImageFFT.c /^psImage* psImageFFT(psImage* out, const psImage* in, psFFTFlags direction)$/;" f 2347 2581 psImageFFT src/image/psImageFFT.h /^psImage* psImageFFT($/;" p 2348 2582 psImageFitPolynomial include/psImageStats.h /^psPolynomial2D* psImageFitPolynomial($/;" p … … 2425 2659 psKernelType include/psImageConvolve.h /^typedef psF32 psKernelType;$/;" t 2426 2660 psKernelType src/image/psImageConvolve.h /^typedef psF32 psKernelType;$/;" t 2661 psLibFinalize include/psConfigure.h /^void psLibFinalize($/;" p 2662 psLibFinalize src/sysUtils/psConfigure.c /^void psLibFinalize(void)$/;" f 2663 psLibFinalize src/sysUtils/psConfigure.h /^void psLibFinalize($/;" p 2664 psLibInit include/psConfigure.h /^void psLibInit($/;" p 2665 psLibInit src/sysUtils/psConfigure.c /^void psLibInit(bool predictable, const char* timeConfig)$/;" f 2666 psLibInit src/sysUtils/psConfigure.h /^void psLibInit($/;" p 2667 psLibVersion include/psConfigure.h /^char* psLibVersion($/;" p 2668 psLibVersion src/sysUtils/psConfigure.c /^char* psLibVersion(void)$/;" f 2669 psLibVersion src/sysUtils/psConfigure.h /^char* psLibVersion($/;" p 2427 2670 psList include/psList.h /^psList;$/;" t 2428 2671 psList src/collections/psList.h /^psList;$/;" t … … 2449 2692 psListGetPrevious src/collections/psList.c /^psPtr psListGetPrevious(psList* list)$/;" f 2450 2693 psListGetPrevious src/collections/psList.h /^psPtr psListGetPrevious($/;" p 2694 psListIterator include/psList.h /^psListIterator;$/;" t 2695 psListIterator src/collections/psList.h /^psListIterator;$/;" t 2451 2696 psListRemove include/psList.h /^psBool psListRemove($/;" p 2452 2697 psListRemove src/collections/psList.c /^psBool psListRemove(psList* list, psS32 location, psPtr data)$/;" f … … 2476 2721 psLogSetLevel src/sysUtils/psLogMsg.c /^psS32 psLogSetLevel(psS32 level)$/;" f 2477 2722 psLogSetLevel src/sysUtils/psLogMsg.h /^psS32 psLogSetLevel($/;" p 2478 psLookupErrorType src/fileUtils/psLookupTable.h /^} psLookupErrorType;$/;" t 2723 psLookupStatusType include/psLookupTable.h /^} psLookupStatusType;$/;" t 2724 psLookupStatusType src/fileUtils/psLookupTable.h /^} psLookupStatusType;$/;" t 2725 psLookupTable include/psLookupTable.h /^psLookupTable;$/;" t 2479 2726 psLookupTable src/fileUtils/psLookupTable.h /^psLookupTable;$/;" t 2480 psLookupTableAlloc src/fileUtils/psLookupTable.c /^psLookupTable* psLookupTableAlloc(psU64 numRows, psU64 numCols)$/;" f 2727 psLookupTableAlloc include/psLookupTable.h /^psLookupTable* psLookupTableAlloc($/;" p 2728 psLookupTableAlloc src/fileUtils/psLookupTable.c /^psLookupTable* psLookupTableAlloc(const char *fileName, psF64 validFrom, psF64 validTo)$/;" f 2481 2729 psLookupTableAlloc src/fileUtils/psLookupTable.h /^psLookupTable* psLookupTableAlloc($/;" p 2482 psLookupTableInterpolate src/fileUtils/psLookupTable.c /^psF64 psLookupTableInterpolate(psLookupTable *table, psF64 index, psMaskType *status)$/;" f2483 psLookupTableInterpolate src/fileUtils/psLookupTable.c /^ps Vector* psLookupTableInterpolate(psLookupTable *table, psF64 index, psMaskType *status)$/;" f2730 psLookupTableInterpolate include/psLookupTable.h /^psF64 psLookupTableInterpolate($/;" p 2731 psLookupTableInterpolate src/fileUtils/psLookupTable.c /^psF64 psLookupTableInterpolate(psLookupTable *table, psF64 index, psU64 column, psLookupStatusType *status)$/;" f 2484 2732 psLookupTableInterpolate src/fileUtils/psLookupTable.h /^psF64 psLookupTableInterpolate($/;" p 2485 psLookupTableInterpolate src/fileUtils/psLookupTable.h /^psVector* psLookupTableInterpolate($/;" p 2486 psLookupTableRead src/fileUtils/psLookupTable.c /^psLookupTable* psLookupTableRead(char *fileName)$/;" f 2733 psLookupTableInterpolateAll include/psLookupTable.h /^psVector* psLookupTableInterpolateAll($/;" p 2734 psLookupTableInterpolateAll src/fileUtils/psLookupTable.c /^psVector* psLookupTableInterpolateAll(psLookupTable *table, psF64 index, psVector *stats)$/;" f 2735 psLookupTableInterpolateAll src/fileUtils/psLookupTable.h /^psVector* psLookupTableInterpolateAll($/;" p 2736 psLookupTableRead include/psLookupTable.h /^psLookupTable* psLookupTableRead($/;" p 2737 psLookupTableRead src/fileUtils/psLookupTable.c /^psLookupTable* psLookupTableRead(psLookupTable *table)$/;" f 2487 2738 psLookupTableRead src/fileUtils/psLookupTable.h /^psLookupTable* psLookupTableRead($/;" p 2488 2739 psMaskType include/psType.h /^typedef psU8 psMaskType; \/\/\/< the C datatype for a mask image$/;" t … … 2530 2781 psMemCheckCorruption src/sysUtils/psMemory.h /^psS32 psMemCheckCorruption($/;" p 2531 2782 psMemCheckLeaks include/psMemory.h /^psS32 psMemCheckLeaks($/;" p 2532 psMemCheckLeaks src/sysUtils/psMemory.c /^psS32 psMemCheckLeaks(psMemoryId id0, psMemBlock* ** arr, FILE * fd )$/;" f2783 psMemCheckLeaks src/sysUtils/psMemory.c /^psS32 psMemCheckLeaks(psMemoryId id0, psMemBlock* ** arr, FILE * fd, psBool persistence)$/;" f 2533 2784 psMemCheckLeaks src/sysUtils/psMemory.h /^psS32 psMemCheckLeaks($/;" p 2534 2785 psMemDecrRefCounter include/psMemory.h /^#define psMemDecrRefCounter(/;" d … … 2605 2856 psMetadataLookup src/astronomy/psMetadata.h /^psMetadataItem* psMetadataLookup($/;" p 2606 2857 psMetadataParseConfig include/psMetadataIO.h /^psS32 psMetadataParseConfig($/;" p 2607 psMetadataParseConfig src/astronomy/psMetadataIO.c /^psS32 psMetadataParseConfig(psMetadata** md, c har *fileName, psBool overwrite)$/;" f2858 psMetadataParseConfig src/astronomy/psMetadataIO.c /^psS32 psMetadataParseConfig(psMetadata** md, const char *fileName, psBool overwrite)$/;" f 2608 2859 psMetadataParseConfig src/astronomy/psMetadataIO.h /^psS32 psMetadataParseConfig($/;" p 2860 psMetadataParseConfigXml include/psMetadataIO.h /^psS32 psMetadataParseConfigXml($/;" p 2861 psMetadataParseConfigXml src/astronomy/psMetadataIO.c /^psS32 psMetadataParseConfigXml(psMetadata** md, const char *fileName)$/;" f 2862 psMetadataParseConfigXml src/astronomy/psMetadataIO.h /^psS32 psMetadataParseConfigXml($/;" p 2609 2863 psMetadataReadHeader include/psMetadataIO.h /^psMetadata* psMetadataReadHeader($/;" p 2610 2864 psMetadataReadHeader src/astronomy/psMetadataIO.c /^psMetadata* psMetadataReadHeader(psMetadata* output, char *extName, psS32 extNum, char *fileName)$/;" f … … 2636 2890 psMinimizeLMChi2Gauss1D src/dataManip/psMinimize.c /^psVector *psMinimizeLMChi2Gauss1D(psImage *deriv,$/;" f 2637 2891 psMinimizeLMChi2Gauss1D src/dataManip/psMinimize.h /^psVector *psMinimizeLMChi2Gauss1D(psImage *deriv,$/;" p 2892 psMinimizeLMChi2Gauss2D src/dataManip/psMinimize.c /^psVector *psMinimizeLMChi2Gauss2D(psImage *deriv,$/;" f 2638 2893 psMinimizePowell include/psMinimize.h /^psBool psMinimizePowell(psMinimization *min,$/;" p 2639 2894 psMinimizePowell src/dataManip/psMinimize.c /^psBool psMinimizePowell(psMinimization *min,$/;" f … … 2644 2899 psMinimizePowellFunc include/psMinimize.h /^float (*psMinimizePowellFunc)(const psVector *params,$/;" t 2645 2900 psMinimizePowellFunc src/dataManip/psMinimize.h /^float (*psMinimizePowellFunc)(const psVector *params,$/;" t 2646 psNormalizeVectorRange include/psStats.h /^void psNormalizeVectorRange(psVector* myData,$/;" p2647 psNormalizeVectorRange src/dataManip/psStats.c /^void psNormalizeVectorRange(psVector* myData,$/;" f2648 psNormalizeVectorRange src/dataManip/psStats.h /^void psNormalizeVectorRange(psVector* myData,$/;" p2649 2901 psObservatory include/psAstrometry.h /^psObservatory;$/;" t 2650 2902 psObservatory src/astronomy/psAstrometry.h /^psObservatory;$/;" t … … 2652 2904 psObservatoryAlloc src/astronomy/psAstrometry.c /^psObservatory* psObservatoryAlloc(const char* name,$/;" f 2653 2905 psObservatoryAlloc src/astronomy/psAstrometry.h /^psObservatory* psObservatoryAlloc($/;" p 2906 psParseErrorType include/psLookupTable.h /^}psParseErrorType;$/;" t 2907 psParseErrorType src/fileUtils/psLookupTable.h /^}psParseErrorType;$/;" t 2654 2908 psPhotSystem include/psPhotometry.h /^psPhotSystem;$/;" t 2655 2909 psPhotSystem src/astronomy/psPhotometry.h /^psPhotSystem;$/;" t … … 2682 2936 psPolynomial1DAlloc src/dataManip/psFunctions.h /^psPolynomial1D* psPolynomial1DAlloc($/;" p 2683 2937 psPolynomial1DEval include/psFunctions.h /^float psPolynomial1DEval($/;" p 2684 psPolynomial1DEval src/dataManip/psFunctions.c /^float psPolynomial1DEval( float x, const psPolynomial1D* myPoly)$/;" f2938 psPolynomial1DEval src/dataManip/psFunctions.c /^float psPolynomial1DEval(const psPolynomial1D* myPoly, float x)$/;" f 2685 2939 psPolynomial1DEval src/dataManip/psFunctions.h /^float psPolynomial1DEval($/;" p 2686 psPolynomial1DEvalVector include/psFunctions.h /^psVector *psPolynomial1DEvalVector( const psVector *x, \/\/\/< x locations at which to evaluate$/;" p2687 psPolynomial1DEvalVector src/dataManip/psFunctions.c /^psVector *psPolynomial1DEvalVector(const ps Vector *x,$/;" f2688 psPolynomial1DEvalVector src/dataManip/psFunctions.h /^psVector *psPolynomial1DEvalVector( const psVector *x, \/\/\/< x locations at which to evaluate$/;" p2940 psPolynomial1DEvalVector include/psFunctions.h /^psVector *psPolynomial1DEvalVector($/;" p 2941 psPolynomial1DEvalVector src/dataManip/psFunctions.c /^psVector *psPolynomial1DEvalVector(const psPolynomial1D *myPoly,$/;" f 2942 psPolynomial1DEvalVector src/dataManip/psFunctions.h /^psVector *psPolynomial1DEvalVector($/;" p 2689 2943 psPolynomial2D include/psFunctions.h /^psPolynomial2D;$/;" t 2690 2944 psPolynomial2D src/dataManip/psFunctions.h /^psPolynomial2D;$/;" t … … 2693 2947 psPolynomial2DAlloc src/dataManip/psFunctions.h /^psPolynomial2D* psPolynomial2DAlloc($/;" p 2694 2948 psPolynomial2DEval include/psFunctions.h /^float psPolynomial2DEval($/;" p 2695 psPolynomial2DEval src/dataManip/psFunctions.c /^float psPolynomial2DEval( float x, float y, const psPolynomial2D* myPoly)$/;" f2949 psPolynomial2DEval src/dataManip/psFunctions.c /^float psPolynomial2DEval(const psPolynomial2D* myPoly, float x, float y)$/;" f 2696 2950 psPolynomial2DEval src/dataManip/psFunctions.h /^float psPolynomial2DEval($/;" p 2697 psPolynomial2DEvalVector include/psFunctions.h /^psVector *psPolynomial2DEvalVector( const psVector *x, \/\/\/< x locations at which to evaluate$/;" p2698 psPolynomial2DEvalVector src/dataManip/psFunctions.c /^psVector *psPolynomial2DEvalVector(const ps Vector *x,$/;" f2699 psPolynomial2DEvalVector src/dataManip/psFunctions.h /^psVector *psPolynomial2DEvalVector( const psVector *x, \/\/\/< x locations at which to evaluate$/;" p2951 psPolynomial2DEvalVector include/psFunctions.h /^psVector *psPolynomial2DEvalVector($/;" p 2952 psPolynomial2DEvalVector src/dataManip/psFunctions.c /^psVector *psPolynomial2DEvalVector(const psPolynomial2D *myPoly,$/;" f 2953 psPolynomial2DEvalVector src/dataManip/psFunctions.h /^psVector *psPolynomial2DEvalVector($/;" p 2700 2954 psPolynomial3D include/psFunctions.h /^psPolynomial3D;$/;" t 2701 2955 psPolynomial3D src/dataManip/psFunctions.h /^psPolynomial3D;$/;" t … … 2704 2958 psPolynomial3DAlloc src/dataManip/psFunctions.h /^psPolynomial3D* psPolynomial3DAlloc($/;" p 2705 2959 psPolynomial3DEval include/psFunctions.h /^float psPolynomial3DEval($/;" p 2706 psPolynomial3DEval src/dataManip/psFunctions.c /^float psPolynomial3DEval( float x, float y, float z, const psPolynomial3D* myPoly)$/;" f2960 psPolynomial3DEval src/dataManip/psFunctions.c /^float psPolynomial3DEval(const psPolynomial3D* myPoly, float x, float y, float z)$/;" f 2707 2961 psPolynomial3DEval src/dataManip/psFunctions.h /^float psPolynomial3DEval($/;" p 2708 psPolynomial3DEvalVector include/psFunctions.h /^psVector *psPolynomial3DEvalVector( const psVector *x, \/\/\/< x locations at which to evaluate$/;" p2709 psPolynomial3DEvalVector src/dataManip/psFunctions.c /^psVector *psPolynomial3DEvalVector(const ps Vector *x,$/;" f2710 psPolynomial3DEvalVector src/dataManip/psFunctions.h /^psVector *psPolynomial3DEvalVector( const psVector *x, \/\/\/< x locations at which to evaluate$/;" p2962 psPolynomial3DEvalVector include/psFunctions.h /^psVector *psPolynomial3DEvalVector($/;" p 2963 psPolynomial3DEvalVector src/dataManip/psFunctions.c /^psVector *psPolynomial3DEvalVector(const psPolynomial3D *myPoly,$/;" f 2964 psPolynomial3DEvalVector src/dataManip/psFunctions.h /^psVector *psPolynomial3DEvalVector($/;" p 2711 2965 psPolynomial4D include/psFunctions.h /^psPolynomial4D;$/;" t 2712 2966 psPolynomial4D src/dataManip/psFunctions.h /^psPolynomial4D;$/;" t … … 2715 2969 psPolynomial4DAlloc src/dataManip/psFunctions.h /^psPolynomial4D* psPolynomial4DAlloc($/;" p 2716 2970 psPolynomial4DEval include/psFunctions.h /^float psPolynomial4DEval($/;" p 2717 psPolynomial4DEval src/dataManip/psFunctions.c /^float psPolynomial4DEval( float w, float x, float y, float z, const psPolynomial4D* myPoly)$/;" f2971 psPolynomial4DEval src/dataManip/psFunctions.c /^float psPolynomial4DEval(const psPolynomial4D* myPoly, float w, float x, float y, float z)$/;" f 2718 2972 psPolynomial4DEval src/dataManip/psFunctions.h /^float psPolynomial4DEval($/;" p 2719 psPolynomial4DEvalVector include/psFunctions.h /^psVector *psPolynomial4DEvalVector( const psVector *w, \/\/\/< w locations at which to evaluate$/;" p2720 psPolynomial4DEvalVector src/dataManip/psFunctions.c /^psVector *psPolynomial4DEvalVector(const ps Vector *w,$/;" f2721 psPolynomial4DEvalVector src/dataManip/psFunctions.h /^psVector *psPolynomial4DEvalVector( const psVector *w, \/\/\/< w locations at which to evaluate$/;" p2973 psPolynomial4DEvalVector include/psFunctions.h /^psVector *psPolynomial4DEvalVector($/;" p 2974 psPolynomial4DEvalVector src/dataManip/psFunctions.c /^psVector *psPolynomial4DEvalVector(const psPolynomial4D *myPoly,$/;" f 2975 psPolynomial4DEvalVector src/dataManip/psFunctions.h /^psVector *psPolynomial4DEvalVector($/;" p 2722 2976 psPolynomialType include/psFunctions.h /^} psPolynomialType;$/;" t 2723 2977 psPolynomialType src/dataManip/psFunctions.h /^} psPolynomialType;$/;" t … … 2731 2985 psPtr include/psType.h /^typedef void* psPtr; \/\/\/< void pointer$/;" t 2732 2986 psPtr src/sysUtils/psType.h /^typedef void* psPtr; \/\/\/< void pointer$/;" t 2987 psRandom include/psRandom.h /^psRandom;$/;" t 2988 psRandom src/dataManip/psRandom.h /^psRandom;$/;" t 2989 psRandomAlloc include/psRandom.h /^psRandom *psRandomAlloc(psRandomType type,$/;" p 2990 psRandomAlloc src/dataManip/psRandom.c /^psRandom *psRandomAlloc(psRandomType type,$/;" f 2991 psRandomAlloc src/dataManip/psRandom.h /^psRandom *psRandomAlloc(psRandomType type,$/;" p 2992 psRandomGaussian include/psRandom.h /^psF64 psRandomGaussian(const psRandom *r);$/;" p 2993 psRandomGaussian src/dataManip/psRandom.c /^psF64 psRandomGaussian(const psRandom *r)$/;" f 2994 psRandomGaussian src/dataManip/psRandom.h /^psF64 psRandomGaussian(const psRandom *r);$/;" p 2995 psRandomPoisson include/psRandom.h /^psF64 psRandomPoisson(const psRandom *r, psF64 mean);$/;" p 2996 psRandomPoisson src/dataManip/psRandom.c /^psF64 psRandomPoisson(const psRandom *r, psF64 mean)$/;" f 2997 psRandomPoisson src/dataManip/psRandom.h /^psF64 psRandomPoisson(const psRandom *r, psF64 mean);$/;" p 2998 psRandomReset include/psRandom.h /^void psRandomReset(psRandom *rand,$/;" p 2999 psRandomReset src/dataManip/psRandom.c /^void psRandomReset(psRandom *rand,$/;" f 3000 psRandomReset src/dataManip/psRandom.h /^void psRandomReset(psRandom *rand,$/;" p 3001 psRandomType include/psRandom.h /^} psRandomType;$/;" t 3002 psRandomType src/dataManip/psRandom.h /^} psRandomType;$/;" t 3003 psRandomUniform include/psRandom.h /^psF64 psRandomUniform(const psRandom *r);$/;" p 3004 psRandomUniform src/dataManip/psRandom.c /^psF64 psRandomUniform(const psRandom *r)$/;" f 3005 psRandomUniform src/dataManip/psRandom.h /^psF64 psRandomUniform(const psRandom *r);$/;" p 2733 3006 psReadout include/psAstrometry.h /^psReadout;$/;" t 2734 3007 psReadout src/astronomy/psAstrometry.h /^psReadout;$/;" t … … 2742 3015 psReferenceCount include/psMemory.h /^typedef psU64 psReferenceCount;$/;" t 2743 3016 psReferenceCount src/sysUtils/psMemory.h /^typedef psU64 psReferenceCount;$/;" t 3017 psRegion include/psImage.h /^psRegion;$/;" t 3018 psRegion src/image/psImage.h /^psRegion;$/;" t 3019 psRegionAlloc include/psImage.h /^psRegion* psRegionAlloc($/;" p 3020 psRegionAlloc src/image/psImage.c /^psRegion* psRegionAlloc(double x0,$/;" f 3021 psRegionAlloc src/image/psImage.h /^psRegion* psRegionAlloc($/;" p 3022 psRegionFromString include/psImage.h /^psRegion* psRegionFromString($/;" p 3023 psRegionFromString src/image/psImage.c /^psRegion* psRegionFromString(char* region)$/;" f 3024 psRegionFromString src/image/psImage.h /^psRegion* psRegionFromString($/;" p 2744 3025 psS16 include/psType.h /^typedef int16_t psS16; \/\/\/< 16-bit signed int$/;" t 2745 3026 psS16 src/sysUtils/psType.h /^typedef int16_t psS16; \/\/\/< 16-bit signed int$/;" t … … 2769 3050 psSphereOffsetUnit include/psCoord.h /^} psSphereOffsetUnit;$/;" t 2770 3051 psSphereOffsetUnit src/astronomy/psCoord.h /^} psSphereOffsetUnit;$/;" t 3052 psSpherePrecess include/psCoord.h /^psSphere *psSpherePrecess(psSphere *coords,$/;" p 3053 psSpherePrecess src/astronomy/psCoord.c /^psSphere *psSpherePrecess(psSphere *coords,$/;" f 3054 psSpherePrecess src/astronomy/psCoord.h /^psSphere *psSpherePrecess(psSphere *coords,$/;" p 2771 3055 psSphereSetOffset include/psCoord.h /^psSphere* psSphereSetOffset($/;" p 2772 3056 psSphereSetOffset src/astronomy/psCoord.c /^psSphere* psSphereSetOffset(const psSphere* restrict position,$/;" f … … 2775 3059 psSphereTransform src/astronomy/psCoord.h /^psSphereTransform;$/;" t 2776 3060 psSphereTransformAlloc include/psCoord.h /^psSphereTransform* psSphereTransformAlloc($/;" p 2777 psSphereTransformAlloc src/astronomy/psCoord.c /^psSphereTransform* psSphereTransformAlloc(double NPlat,$/;" f3061 psSphereTransformAlloc src/astronomy/psCoord.c /^psSphereTransform* psSphereTransformAlloc(double alphaP,$/;" f 2778 3062 psSphereTransformAlloc src/astronomy/psCoord.h /^psSphereTransform* psSphereTransformAlloc($/;" p 2779 3063 psSphereTransformApply include/psCoord.h /^psSphere* psSphereTransformApply($/;" p … … 2800 3084 psSpline1DAllocGeneric src/dataManip/psFunctions.c /^psSpline1D *psSpline1DAllocGeneric(const psVector *bounds,$/;" f 2801 3085 psSpline1DAllocGeneric src/dataManip/psFunctions.h /^psSpline1D *psSpline1DAllocGeneric(const psVector *bounds,$/;" p 2802 psSpline1DEval include/psFunctions.h /^float psSpline1DEval( const psSpline1D *spline,$/;" p2803 psSpline1DEval src/dataManip/psFunctions.c /^float psSpline1DEval( const psSpline1D *spline,$/;" f2804 psSpline1DEval src/dataManip/psFunctions.h /^float psSpline1DEval( const psSpline1D *spline,$/;" p2805 psSpline1DEvalVector include/psFunctions.h /^psVector *psSpline1DEvalVector( const psVector *x,$/;" p2806 psSpline1DEvalVector src/dataManip/psFunctions.c /^psVector *psSpline1DEvalVector( const psVector *x,$/;" f2807 psSpline1DEvalVector src/dataManip/psFunctions.h /^psVector *psSpline1DEvalVector( const psVector *x,$/;" p3086 psSpline1DEval include/psFunctions.h /^float psSpline1DEval($/;" p 3087 psSpline1DEval src/dataManip/psFunctions.c /^float psSpline1DEval($/;" f 3088 psSpline1DEval src/dataManip/psFunctions.h /^float psSpline1DEval($/;" p 3089 psSpline1DEvalVector include/psFunctions.h /^psVector *psSpline1DEvalVector($/;" p 3090 psSpline1DEvalVector src/dataManip/psFunctions.c /^psVector *psSpline1DEvalVector($/;" f 3091 psSpline1DEvalVector src/dataManip/psFunctions.h /^psVector *psSpline1DEvalVector($/;" p 2808 3092 psStats include/psStats.h /^psStats;$/;" t 2809 3093 psStats src/dataManip/psStats.h /^psStats;$/;" t … … 2835 3119 psTimeDelta src/astronomy/psTime.c /^psTime* psTimeDelta(const psTime *tai1, const psTime *tai2)$/;" f 2836 3120 psTimeDelta src/astronomy/psTime.h /^psTime* psTimeDelta($/;" p 3121 psTimeFinalize include/psTime.h /^psBool psTimeFinalize(void);$/;" p 3122 psTimeFinalize src/astronomy/psTime.c /^bool psTimeFinalize(void)$/;" f 3123 psTimeFinalize src/astronomy/psTime.h /^psBool psTimeFinalize(void);$/;" p 2837 3124 psTimeFromISOTime include/psTime.h /^psTime* psTimeFromISOTime($/;" p 2838 3125 psTimeFromISOTime src/astronomy/psTime.c /^psTime* psTimeFromISOTime(const char *time)$/;" f … … 2862 3149 psTimeGetUT1Delta src/astronomy/psTime.c /^double psTimeGetUT1Delta(const psTime *time)$/;" f 2863 3150 psTimeGetUT1Delta src/astronomy/psTime.h /^double psTimeGetUT1Delta($/;" p 2864 psTimeInit src/astronomy/psTime.c /^void psTimeInit(char *fileName)$/;" f 3151 psTimeInit include/psTime.h /^psBool psTimeInit(const char *fileName);$/;" p 3152 psTimeInit src/astronomy/psTime.c /^bool psTimeInit(const char *fileName)$/;" f 3153 psTimeInit src/astronomy/psTime.h /^psBool psTimeInit(const char *fileName);$/;" p 2865 3154 psTimeLeapseconds include/psTime.h /^psS64 psTimeLeapseconds($/;" p 2866 3155 psTimeLeapseconds src/astronomy/psTime.c /^psS64 psTimeLeapseconds(const psTime *time1, const psTime *time2)$/;" f … … 2951 3240 psVectorCopy src/collections/psVector.h /^psVector* psVectorCopy($/;" p 2952 3241 psVectorFFT include/psVectorFFT.h /^psVector* psVectorFFT($/;" p 2953 psVectorFFT src/dataManip/psVectorFFT.c /^psVector* psVectorFFT(psVector* out, const psVector* in, psF ftDirectiondirection)$/;" f3242 psVectorFFT src/dataManip/psVectorFFT.c /^psVector* psVectorFFT(psVector* out, const psVector* in, psFFTFlags direction)$/;" f 2954 3243 psVectorFFT src/dataManip/psVectorFFT.h /^psVector* psVectorFFT($/;" p 2955 3244 psVectorFitPolynomial1D include/psMinimize.h /^psPolynomial1D* psVectorFitPolynomial1D($/;" p … … 2992 3281 psWarning src/sysUtils/psLogMsg.c /^void psWarning(const char* name, const char* fmt, ...)$/;" f 2993 3282 psWarning src/sysUtils/psLogMsg.h /^void psWarning($/;" p 3283 psfitsReadImageSection src/fileUtils/psFits.h /^psImage* psfitsReadImageSection($/;" p 2994 3284 pushErrorStack src/sysUtils/psError.c /^static void pushErrorStack(psErr* err)$/;" f file: 2995 3285 pushErrorStack src/sysUtils/psError.c /^static void pushErrorStack(psErr* err);$/;" p file: … … 3002 3292 rawDataBuffer include/psImage.h /^ psPtr rawDataBuffer;$/;" m struct:psImage 3003 3293 rawDataBuffer src/image/psImage.h /^ psPtr rawDataBuffer;$/;" m struct:psImage 3004 readSer7File src/astronomy/psTime.c /^static psImage* readSer7File($/;" p file:3005 readSer7File src/astronomy/psTime.c /^static psImage* readSer7File(const char *fileName)$/;" f file:3006 readTaiUtcFile src/astronomy/psTime.c /^static psImage* readTaiUtcFile($/;" p file:3007 readTaiUtcFile src/astronomy/psTime.c /^static psImage* readTaiUtcFile(const char *fileName)$/;" f file:3008 3294 readoutFree src/astronomy/psAstrometry.c /^static void readoutFree(psReadout* readout)$/;" f file: 3009 3295 readouts include/psAstrometry.h /^ psArray* readouts; \/\/\/< readouts from the cell$/;" m … … 3072 3358 sampleUQ include/psStats.h /^ double sampleUQ; \/\/\/< upper quartile of sample$/;" m 3073 3359 sampleUQ src/dataManip/psStats.h /^ double sampleUQ; \/\/\/< upper quartile of sample$/;" m 3074 sec include/psTime.h /^ psS64 sec; \/\/\/< Seconds since epoch, Jan 1, 1970.$/;" m struct:psTime 3075 sec src/astronomy/psTime.h /^ psS64 sec; \/\/\/< Seconds since epoch, Jan 1, 1970.$/;" m struct:psTime 3360 searchTables src/astronomy/psTime.c /^psF64 searchTables(psF64 index, psU64 column, psLookupStatusType *status, char *metadataTableNames[], psU32 nTables)$/;" f 3361 searchTables src/astronomy/psTime.c /^psF64 searchTables(psF64 index, psU64 column, psLookupStatusType *status, char *metadataTableNames[], psU32 nTables);$/;" p file: 3362 sec include/psTime.h /^ psS64 sec; \/\/\/< Seconds since epoch, Jan 1, 1970.$/;" m struct:psTime 3363 sec src/astronomy/psTime.h /^ psS64 sec; \/\/\/< Seconds since epoch, Jan 1, 1970.$/;" m struct:psTime 3076 3364 setData test/dataManip/tst_psMinimize04.c /^double setData(double x)$/;" f 3077 3365 setData test/dataManip/tst_psMinimize04_F32.c /^float setData(float x)$/;" f … … 3080 3368 siderealTime include/psAstrometry.h /^ const double siderealTime; \/\/\/< local apparent sidereal time (radians)$/;" m 3081 3369 siderealTime src/astronomy/psAstrometry.h /^ const double siderealTime; \/\/\/< local apparent sidereal time (radians)$/;" m 3370 sinDeltaP include/psCoord.h /^ double sinDeltaP; \/\/\/< Sine of target pole latitude in the source system$/;" m 3371 sinDeltaP src/astronomy/psCoord.h /^ double sinDeltaP; \/\/\/< Sine of target pole latitude in the source system$/;" m 3082 3372 sinLat include/psAstrometry.h /^ const double sinLat; \/\/\/< sine of geodetic latitude$/;" m 3083 3373 sinLat src/astronomy/psAstrometry.h /^ const double sinLat; \/\/\/< sine of geodetic latitude$/;" m 3084 sinPhi include/psCoord.h /^ double sinPhi; \/\/\/< sin of North Pole lattitude$/;" m 3085 sinPhi src/astronomy/psCoord.h /^ double sinPhi; \/\/\/< sin of North Pole lattitude$/;" m 3086 size include/psList.h /^ psU32 size; \/\/\/< number of elements on list$/;" m 3087 size src/collections/psList.h /^ psU32 size; \/\/\/< number of elements on list$/;" m 3374 size include/psList.h /^ psU32 size; \/\/\/< number of elements on list$/;" m 3375 size src/collections/psList.h /^ psU32 size; \/\/\/< number of elements on list$/;" m 3088 3376 slaAirmas include/slalib.h /^#define slaAirmas(/;" d 3089 3377 slaAirmas src/astronomy/slalib.h /^#define slaAirmas(/;" d … … 3354 3642 testStringCopy06 test/sysUtils/tst_psStringCopy.c /^static psS32 testStringCopy06(void);$/;" p file: 3355 3643 testStruct test/collections/tst_psArray.c /^testStruct;$/;" t file: 3644 testStruct test/collections/tst_psArray01.c /^testStruct;$/;" t file: 3645 testStructCompare test/collections/tst_psArray01.c /^int testStructCompare(const void **a, const void **b)$/;" f 3356 3646 testTrace00 test/sysUtils/tst_psTrace.c /^static psS32 testTrace00(void)$/;" f file: 3357 3647 testTrace00 test/sysUtils/tst_psTrace.c /^static psS32 testTrace00(void);$/;" p file: … … 3415 3705 toFPA src/astronomy/psAstrometry.h /^ psPlaneTransform* toFPA; \/\/\/< transformation from chip to FPA coordinates$/;" m struct:psChip 3416 3706 toFPA src/astronomy/psAstrometry.h /^ psPlaneTransform* toFPA; \/\/\/< transformations from cell to FPA coordinates$/;" m 3707 toSky include/psAstrometry.h /^ psPlaneTransform* toSky; \/\/\/< transformations from cell to tangent plane coordinates$/;" m 3708 toSky src/astronomy/psAstrometry.h /^ psPlaneTransform* toSky; \/\/\/< transformations from cell to tangent plane coordinates$/;" m 3417 3709 toTP include/psAstrometry.h /^ psPlaneTransform* toTP; \/\/\/< transformations from cell to tangent plane coordinates$/;" m 3418 3710 toTP src/astronomy/psAstrometry.h /^ psPlaneTransform* toTP; \/\/\/< transformations from cell to tangent plane coordinates$/;" m … … 3428 3720 type include/psImage.h /^ const psType type; \/\/\/< Image data type and dimension.$/;" m struct:psImage 3429 3721 type include/psMetadata.h /^ psMetadataType type; \/\/\/< Type of metadata item.$/;" m struct:psMetadataItem 3722 type include/psRandom.h /^ psRandomType type; \/\/\/< The type of RNG$/;" m 3430 3723 type include/psScalar.h /^ psType type; \/\/\/< Type of data.$/;" m 3431 type include/psTime.h /^ psTimeType type; \/\/\/< Type of time.$/;" m struct:psTime3724 type include/psTime.h /^ psTimeType type; \/\/\/< Type of time.$/;" m struct:psTime 3432 3725 type include/psType.h /^ psElemType type; \/\/\/< Primitive type.$/;" m 3433 3726 type include/psVector.h /^ psType type; \/\/\/< Type of data.$/;" m 3434 3727 type src/astronomy/psCoord.h /^ psProjectionType type; \/\/\/< Projection type$/;" m 3435 3728 type src/astronomy/psMetadata.h /^ psMetadataType type; \/\/\/< Type of metadata item.$/;" m struct:psMetadataItem 3436 type src/astronomy/psTime.h /^ psTimeType type; \/\/\/< Type of time.$/;" m struct:psTime3729 type src/astronomy/psTime.h /^ psTimeType type; \/\/\/< Type of time.$/;" m struct:psTime 3437 3730 type src/collections/psScalar.h /^ psType type; \/\/\/< Type of data.$/;" m 3438 3731 type src/collections/psVector.h /^ psType type; \/\/\/< Type of data.$/;" m 3439 3732 type src/dataManip/psFunctions.h /^ psPolynomialType type; \/\/\/< Polynomial type$/;" m 3733 type src/dataManip/psRandom.h /^ psRandomType type; \/\/\/< The type of RNG$/;" m 3440 3734 type src/image/psImage.h /^ const psType type; \/\/\/< Image data type and dimension.$/;" m struct:psImage 3441 3735 type src/sysUtils/psType.h /^ psElemType type; \/\/\/< Primitive type.$/;" m 3442 3736 uniform include/psStats.h /^ psBool uniform; \/\/\/< Is it a uniform distribution?$/;" m 3443 3737 uniform src/dataManip/psStats.h /^ psBool uniform; \/\/\/< Is it a uniform distribution?$/;" m 3444 usec include/psTime.h /^ psU32 usec; \/\/\/< Microseconds since last second.$/;" m struct:psTime3445 usec src/astronomy/psTime.h /^ psU32 usec; \/\/\/< Microseconds since last second.$/;" m struct:psTime3738 usec include/psTime.h /^ psU32 usec; \/\/\/< Microseconds since last second.$/;" m struct:psTime 3739 usec src/astronomy/psTime.h /^ psU32 usec; \/\/\/< Microseconds since last second.$/;" m struct:psTime 3446 3740 userMemorySize include/psMemory.h /^ size_t userMemorySize; \/\/\/< the size of the user-portion of the memory block$/;" m struct:psMemBlock 3447 3741 userMemorySize src/sysUtils/psMemory.h /^ size_t userMemorySize; \/\/\/< the size of the user-portion of the memory block$/;" m struct:psMemBlock 3742 validFrom include/psLookupTable.h /^ psF64 validFrom; \/\/\/< Lower bound for rable read$/;" m 3743 validFrom src/fileUtils/psLookupTable.h /^ psF64 validFrom; \/\/\/< Lower bound for rable read$/;" m 3744 validTo include/psLookupTable.h /^ psF64 validTo; \/\/\/< Upper bound for table read$/;" m 3745 validTo src/fileUtils/psLookupTable.h /^ psF64 validTo; \/\/\/< Upper bound for table read$/;" m 3448 3746 value include/psMinimize.h /^ float value; \/\/\/< Value of function at minimum$/;" m 3449 3747 value src/dataManip/psMinimize.h /^ float value; \/\/\/< Value of function at minimum$/;" m 3450 values src/fileUtils/psLookupTable.h /^ psArray *values; \/\/\/< Array of dependent table values corresponding to index values.$/;" m3451 v ectorBinDisectF32 src/dataManip/psFunctions.c /^static psS32 vectorBinDisectF32(float *bins,$/;" f file:3748 values include/psLookupTable.h /^ psArray *values; \/\/\/< Array of dependent table values corresponding to index values$/;" m 3749 values src/fileUtils/psLookupTable.h /^ psArray *values; \/\/\/< Array of dependent table values corresponding to index values$/;" m 3452 3750 vectorBinDisectF32 src/dataManip/psFunctions.c /^static psS32 vectorBinDisectF32(float *bins,psS32 numBins,float x);$/;" p file: 3453 vectorBinDisectS32 src/dataManip/psFunctions.c /^static psS32 vectorBinDisectS32(psS32 *bins,$/;" f file:3454 3751 vectorBinDisectS32 src/dataManip/psFunctions.c /^static psS32 vectorBinDisectS32(psS32 *bins,psS32 numBins,psS32 x);$/;" p file: 3455 3752 vectorFree src/collections/psVector.c /^static void vectorFree(psVector* restrict psVec)$/;" f file: … … 3470 3767 x src/astronomy/psCoord.h /^ psDPolynomial4D* x; \/\/\/< 4D polynomial transform of X coordinates$/;" m 3471 3768 x test/collections/tst_psArray.c /^ psS32 x;$/;" m file: 3769 x test/collections/tst_psArray01.c /^ psS32 x;$/;" m file: 3472 3770 x0 include/psAstrometry.h /^ double x0; \/\/\/< X Position of 0,0 corner on focal plane$/;" m 3771 x0 include/psImage.h /^ double x0; \/\/\/< the first column of the region.$/;" m 3473 3772 x0 src/astronomy/psAstrometry.h /^ double x0; \/\/\/< X Position of 0,0 corner on focal plane$/;" m 3773 x0 src/image/psImage.h /^ double x0; \/\/\/< the first column of the region.$/;" m 3774 x1 include/psImage.h /^ double x1; \/\/\/< the last column of the region.$/;" m 3775 x1 src/image/psImage.h /^ double x1; \/\/\/< the last column of the region.$/;" m 3474 3776 xErr include/psCoord.h /^ double xErr; \/\/\/< Error in x position$/;" m 3475 3777 xErr src/astronomy/psCoord.h /^ double xErr; \/\/\/< Error in x position$/;" m … … 3480 3782 xScale include/psAstrometry.h /^ double xScale; \/\/\/< Scale of the grid in x direction$/;" m 3481 3783 xScale src/astronomy/psAstrometry.h /^ double xScale; \/\/\/< Scale of the grid in x direction$/;" m 3482 xo include/psCoord.h /^ double xo; \/\/\/< First PT of Ares equiv lon$/;" m3483 xo src/astronomy/psCoord.h /^ double xo; \/\/\/< First PT of Ares equiv lon$/;" m3484 3784 y include/psAstrometry.h /^ double **y; \/\/\/< The grid of offsets in y$/;" m 3485 3785 y include/psCoord.h /^ double y; \/\/\/< y position$/;" m … … 3490 3790 y src/astronomy/psCoord.h /^ psDPolynomial2D* y; \/\/\/< 2D polynomial transform of Y coordinates$/;" m 3491 3791 y src/astronomy/psCoord.h /^ psDPolynomial4D* y; \/\/\/< 4D polynomial transform of Y coordinates$/;" m 3792 y src/astronomy/psMetadataIO.c /^ int y;$/;" m file: 3492 3793 y test/collections/tst_psArray.c /^ float y;$/;" m file: 3794 y test/collections/tst_psArray01.c /^ float y;$/;" m file: 3493 3795 y0 include/psAstrometry.h /^ double y0; \/\/\/< Y Position of 0,0 corner on focal plane$/;" m 3796 y0 include/psImage.h /^ double y0; \/\/\/< the first row of the region.$/;" m 3494 3797 y0 src/astronomy/psAstrometry.h /^ double y0; \/\/\/< Y Position of 0,0 corner on focal plane$/;" m 3798 y0 src/image/psImage.h /^ double y0; \/\/\/< the first row of the region.$/;" m 3799 y1 include/psImage.h /^ double y1; \/\/\/< the last row of the region.$/;" m 3800 y1 src/image/psImage.h /^ double y1; \/\/\/< the last row of the region.$/;" m 3495 3801 yErr include/psCoord.h /^ double yErr; \/\/\/< Error in y position$/;" m 3496 3802 yErr src/astronomy/psCoord.h /^ double yErr; \/\/\/< Error in y position$/;" m -
trunk/psLib/test/astronomy/Makefile
r2521 r2681 3 3 ## Makefile: test/astronomy 4 4 ## 5 ## $Revision: 1.2 3$ $Name: not supported by cvs2svn $6 ## $Date: 2004-1 1-30 00:28:36$5 ## $Revision: 1.24 $ $Name: not supported by cvs2svn $ 6 ## $Date: 2004-12-10 02:50:15 $ 7 7 ## 8 8 ## Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 31 31 tst_psMetadata_06 \ 32 32 tst_psMetadata_07 \ 33 tst_psCoord \34 33 tst_psAstrometry \ 35 34 tst_psAstrometry01 35 # tst_psCoord \ 36 36 37 37 OBJS = $(addprefix builddir/,$(addsuffix .o,$(TARGET))) -
trunk/psLib/test/astronomy/tst_psMetadataIO.c
r2607 r2681 13 13 * @author Ross Harman, MHPCC 14 14 * 15 * @version $Revision: 1. 5$ $Name: not supported by cvs2svn $16 * @date $Date: 2004-12- 03 23:19:07$15 * @version $Revision: 1.6 $ $Name: not supported by cvs2svn $ 16 * @date $Date: 2004-12-10 02:50:15 $ 17 17 * 18 18 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 41 41 psMetadataItem *entryChild = NULL; 42 42 43 psList SetIterator(metadataItemList, PS_LIST_HEAD);44 entryChild = psListGetCurrent(metadataItemList); 45 while ( entryChild!= NULL) {43 psListIterator* iter = psListIteratorAlloc(metadataItemList, PS_LIST_HEAD); 44 45 while ( (entryChild=psListGetNext(iter)) != NULL) { 46 46 printMetadataItem(entryChild, spaces); 47 entryChild = psListGetNext(metadataItemList);48 47 } 48 49 psFree(iter); 49 50 } 50 51 -
trunk/psLib/test/astronomy/tst_psMetadata_01.c
r2607 r2681 18 18 * @author Ross Harman, MHPCC 19 19 * 20 * @version $Revision: 1.1 6$ $Name: not supported by cvs2svn $21 * @date $Date: 2004-12- 03 23:19:07$20 * @version $Revision: 1.17 $ $Name: not supported by cvs2svn $ 21 * @date $Date: 2004-12-10 02:50:15 $ 22 22 * 23 23 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 46 46 psMetadataItem *entryChild = NULL; 47 47 48 psList SetIterator(metadataItemList, PS_LIST_HEAD);49 entryChild = psListGetCurrent(metadataItemList); 50 while ( entryChild!= NULL) {48 psListIterator* iter = psListIteratorAlloc(metadataItemList, PS_LIST_HEAD); 49 50 while ( (entryChild=psListGetNext(iter)) != NULL) { 51 51 printMetadataItem(entryChild, spaces); 52 entryChild = psListGetNext(metadataItemList); 53 } 52 } 53 54 psFree(iter); 55 54 56 } 55 57 -
trunk/psLib/test/astronomy/tst_psTime_01.c
r2526 r2681 23 23 * @author Ross Harman, MHPCC 24 24 * 25 * @version $Revision: 1.1 6$ $Name: not supported by cvs2svn $26 * @date $Date: 2004-1 1-30 01:14:08$25 * @version $Revision: 1.17 $ $Name: not supported by cvs2svn $ 26 * @date $Date: 2004-12-10 02:50:15 $ 27 27 * 28 28 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 55 55 // Test B - Print test time 56 56 printPositiveTestHeader(stdout,"psTime", "Print test time"); 57 printf("Test time: Seconds = %lld Microseconds = %u\n", testTime->sec, testTime->usec); 57 printf("Test time: Seconds = %lld Microseconds = %u\n", 58 (long long int)testTime->sec, 59 testTime->usec); 58 60 printFooter(stdout, "psTime", "Print test time", true); 59 61 … … 75 77 psTime *timeD = NULL; 76 78 timeD = psTimeFromISOTime(isoString); 77 printf("psTime: Seconds = %lld Microseconds = %u\n", timeD->sec, timeD->usec); 79 printf("psTime: Seconds = %lld Microseconds = %u\n", 80 (long long int)timeD->sec, 81 timeD->usec); 78 82 psFree(isoString); 79 83 psFree(timeD); … … 90 94 timeE = psTimeConvert(timeE, PS_TIME_UTC); 91 95 psFree(timeE); 92 printf("psTime: Seconds = %lld Microseconds = %u\n", timeE->sec, timeE->usec); 96 printf("psTime: Seconds = %lld Microseconds = %u\n", 97 (long long int)timeE->sec, 98 timeE->usec); 93 99 printFooter(stdout, "psTime", "Convert psTime time to UTC time", true); 94 100 … … 103 109 timeF = psTimeConvert(timeF, PS_TIME_TAI); 104 110 psFree(timeF); 105 printf("psTime: Seconds = %lld Microseconds = %u\n", timeF->sec, timeF->usec); 111 printf("psTime: Seconds = %lld Microseconds = %u\n", 112 (long long int)timeF->sec, 113 timeF->usec); 106 114 printFooter(stdout, "psTime", "Convert UTC time to psTime", true); 107 115 … … 119 127 psTime *timeH = NULL; 120 128 timeH = psTimeFromMJD(mjdTime); 121 printf("psTime: Seconds = %lld Microseconds = %u\n", timeH->sec, timeH->usec); 129 printf("psTime: Seconds = %lld Microseconds = %u\n", 130 (long long int)timeH->sec, 131 timeH->usec); 122 132 psFree(timeH); 123 133 printFooter(stdout, "psTime", "Convert MJD time to psTime", true); … … 136 146 psTime *timeJ = NULL; 137 147 timeJ = psTimeFromJD(jdTime); 138 printf("psTime: Seconds = %lld Microseconds = %u\n", timeJ->sec, timeJ->usec); 148 printf("psTime: Seconds = %lld Microseconds = %u\n", 149 (long long int)timeJ->sec, 150 timeJ->usec); 139 151 psFree(timeJ); 140 152 printFooter(stdout, "psTime", "Convert JD time to psTime", true); … … 145 157 struct timeval timevalTime; 146 158 timevalTime = psTimeToTimeval(testTime); 147 printf("timevalTime: Seconds = %lld Microseconds = %lld\n", (psS64)timevalTime.tv_sec, (psS64)timevalTime.tv_usec); 159 printf("timevalTime: Seconds = %lld Microseconds = %lld\n", 160 (long long int)timevalTime.tv_sec, 161 (long long int)timevalTime.tv_usec); 148 162 printFooter(stdout, "psTime", "Convert psTime to timeval time", true); 149 163 … … 153 167 psTime *timeL = NULL; 154 168 timeL = psTimeFromTimeval(&timevalTime); 155 printf("psTime: Seconds = %lld Microseconds = %u\n", timeL->sec, timeL->usec); 169 printf("psTime: Seconds = %lld Microseconds = %u\n", 170 (long long int)timeL->sec, 171 timeL->usec); 156 172 psFree(timeL); 157 173 printFooter(stdout, "psTime", "Convert timeval time to psTime", true); … … 176 192 psTime *timeN = NULL; 177 193 timeN = psTimeFromTM(tmTime); 178 printf("psTime: Seconds = %lld Microseconds = %u\n", timeN->sec, timeN->usec); 194 printf("psTime: Seconds = %lld Microseconds = %u\n", 195 (long long int)timeN->sec, 196 timeN->usec); 179 197 psFree(timeN); 180 198 psFree(tmTime); -
trunk/psLib/test/astronomy/tst_psTime_03.c
r2392 r2681 12 12 * @author Ross Harman, MHPCC 13 13 * 14 * @version $Revision: 1. 4$ $Name: not supported by cvs2svn $15 * @date $Date: 2004-1 1-22 20:52:45 $14 * @version $Revision: 1.5 $ $Name: not supported by cvs2svn $ 15 * @date $Date: 2004-12-10 02:50:15 $ 16 16 * 17 17 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 23 23 24 24 #define PRINT_TIME(TEXT,TIME) \ 25 printf("%s Seconds = %lld Microseconds = %u\n", TEXT, TIME->sec, TIME->usec);25 printf("%s Seconds = %lld Microseconds = %u\n", TEXT, (long long int)TIME->sec, TIME->usec); 26 26 27 27 psS32 main(psS32 argc, char* argv[]) -
trunk/psLib/test/collections/tst_psList.c
r2273 r2681 6 6 * @author Robert DeSonia, MHPCC 7 7 * 8 * @version $Revision: 1.1 8$ $Name: not supported by cvs2svn $9 * @date $Date: 2004-1 1-04 01:05:00$8 * @version $Revision: 1.19 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2004-12-10 02:50:16 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 328 328 psBool first = true; 329 329 330 psListSetIterator(list,PS_LIST_HEAD); 331 data = psListGetCurrent(list); 332 333 while ( data != NULL ) { 330 psListIterator* iter = psListIteratorAlloc(list,PS_LIST_HEAD); 331 332 while ( (data=(psS32*)psListGetNext(iter)) != NULL ) { 334 333 if (!first) { 335 334 printf(", %d",*(psS32*)data); … … 338 337 first = false; 339 338 } 340 data = psListGetNext(list);341 339 } 342 340 … … 422 420 } 423 421 424 // 5. which=PS_LIST_NEXT425 data = (psS32*)psListGet(list,PS_LIST_NEXT);426 if (data == NULL || *data != 1) {427 psError(PS_ERR_UNKNOWN, true,"psListGet failed with which=PS_LIST_NEXT");428 return 7;429 }430 431 422 // 6. which=PS_LIST_TAIL 432 423 data = (psS32*)psListGet(list,PS_LIST_TAIL); … … 436 427 } 437 428 438 // 7. which=PS_LIST_PREV439 data = (psS32*)psListGet(list,PS_LIST_PREVIOUS);440 if (data == NULL || *data != 2) {441 psError(PS_ERR_UNKNOWN, true,"psListGet failed with which=PS_LIST_PREV");442 return 9;443 }444 445 429 psFree(list); 446 430 … … 452 436 psList* list = NULL; 453 437 psS32* data; 438 int items = 15; 454 439 455 440 /* … … 472 457 // 1. list is NULL. 473 458 psLogMsg(__func__,PS_LOG_INFO,"Following should be an error"); 474 if (psListRemove(list,PS_LIST_HEAD ,NULL)) {459 if (psListRemove(list,PS_LIST_HEAD)) { 475 460 psError(PS_ERR_UNKNOWN, true,"psListRemove didn't return false given a NULL list."); 476 461 return 1; … … 480 465 list = psListAlloc(NULL); 481 466 482 for (psS32 lcv=0;lcv< 15;lcv++) {467 for (psS32 lcv=0;lcv<items;lcv++) { 483 468 data = psAlloc(sizeof(psS32)); 484 469 *data = lcv; … … 490 475 // 2. which is PS_LIST_HEAD (remove first element of list) 491 476 data = psListGet(list,PS_LIST_HEAD); 492 if ( (! psListRemove(list,PS_LIST_HEAD ,NULL)) ||477 if ( (! psListRemove(list,PS_LIST_HEAD)) || 493 478 (psListGet(list,PS_LIST_HEAD) == data) ) { 494 479 printListInt(list); … … 497 482 } 498 483 499 if (list->size != 14) {500 printListInt(list); 501 psError(PS_ERR_UNKNOWN, true,"Didn't decrement size properly to 14.");484 if (list->size != --items) { 485 printListInt(list); 486 psError(PS_ERR_UNKNOWN, true,"Didn't decrement size properly to %d.",items); 502 487 return 1; 503 488 } … … 505 490 // 3. which is PS_LIST_TAIL (remove last element of list) 506 491 data = psListGet(list,PS_LIST_TAIL); 507 if ( (! psListRemove(list,PS_LIST_TAIL ,NULL)) ||492 if ( (! psListRemove(list,PS_LIST_TAIL)) || 508 493 (psListGet(list,PS_LIST_TAIL) == data) ) { 509 494 printListInt(list); … … 512 497 } 513 498 514 if (list->size != 13) { 515 printListInt(list); 516 psError(PS_ERR_UNKNOWN, true,"Didn't decrement size properly to 13."); 517 return 1; 518 } 519 520 // 4. which is PS_LIST_NEXT (element right of cursor [which should be head,tail, and neither]) 521 psListSetIterator(list,PS_LIST_HEAD); 522 if (! psListRemove(list,PS_LIST_NEXT,NULL)) { 523 printListInt(list); 524 psError(PS_ERR_UNKNOWN, true,"Failed to remove PS_LIST_NEXT @ PS_LIST_HEAD"); 525 return 1; 526 } 527 528 if (list->size != 12) { 529 printListInt(list); 530 psError(PS_ERR_UNKNOWN, true,"Didn't decrement size properly to 12."); 531 return 1; 532 } 533 534 psListSetIterator(list,PS_LIST_TAIL); 499 if (list->size != --items) { 500 printListInt(list); 501 psError(PS_ERR_UNKNOWN, true,"Didn't decrement size properly to %d.",items); 502 return 1; 503 } 504 505 // 6. psListRemoveData where data=NULL (error) 535 506 psLogMsg(__func__,PS_LOG_INFO,"Next message should be an error"); 536 if (psListRemove(list,PS_LIST_NEXT,NULL)) { 537 printListInt(list); 538 psError(PS_ERR_UNKNOWN, true,"Removed something with PS_LIST_NEXT @ PS_LIST_TAIL"); 539 return 1; 540 } 541 542 data = psListGet(list,3); 543 psListSetIterator(list,2); 544 if ( (!psListRemove(list,PS_LIST_NEXT,NULL)) || 545 ( psListGet(list,3) == data) ) { 546 printListInt(list); 547 psError(PS_ERR_UNKNOWN, true,"Failed to remove PS_LIST_NEXT @ which=2"); 548 return 1; 549 } 550 551 if (list->size != 11) { 552 printListInt(list); 553 psError(PS_ERR_UNKNOWN, true,"Didn't decrement size properly to 11."); 554 return 1; 555 } 556 557 // 5. which is PS_LIST_PREV (element left of cursor [which should be head,tail, and neither]) 558 psListSetIterator(list,PS_LIST_HEAD); 559 psLogMsg(__func__,PS_LOG_INFO,"Next message should be an error"); 560 if (psListRemove(list,PS_LIST_PREVIOUS,NULL)) { 561 printListInt(list); 562 psError(PS_ERR_UNKNOWN, true,"removed something for PS_LIST_PREVIOUS @ PS_LIST_HEAD"); 563 return 1; 564 } 565 566 data = psListGet(list,9); 567 psListSetIterator(list,PS_LIST_TAIL); 568 if ( (!psListRemove(list,PS_LIST_PREVIOUS,NULL)) || 569 (psListGet(list,9) == data) ) { 570 printListInt(list); 571 psError(PS_ERR_UNKNOWN, true,"Failed to remove PS_LIST_PREVIOUS @ PS_LIST_TAIL"); 572 return 1; 573 } 574 575 if (list->size != 10) { 576 printListInt(list); 577 psError(PS_ERR_UNKNOWN, true,"Didn't decrement size properly to 10."); 578 return 1; 579 } 580 581 data = psListGet(list,1); 582 psListSetIterator(list,2); 583 if ( (!psListRemove(list,PS_LIST_PREVIOUS,NULL)) || 584 ( psListGet(list,1) == data) ) { 585 printListInt(list); 586 psError(PS_ERR_UNKNOWN, true,"Failed to remove PS_LIST_PREVIOUS @ which=2"); 587 return 1; 588 } 589 590 if (list->size != 9) { 591 printListInt(list); 592 psError(PS_ERR_UNKNOWN, true,"Didn't decrement size properly to 9."); 593 return 1; 594 } 595 596 // 6. which is PS_LIST_UNKNOWN and data=NULL (error) 597 psLogMsg(__func__,PS_LOG_INFO,"Next message should be an error"); 598 if (psListRemove(list,PS_LIST_UNKNOWN,NULL)) { 507 if (psListRemoveData(list,NULL)) { 599 508 printListInt(list); 600 509 psError(PS_ERR_UNKNOWN, true,"removed something for PS_LIST_UNKNOWN with data=NULL"); … … 604 513 // 7. which is PS_LIST_UNKNOWN and data=[head,tail,other list items] 605 514 data = psListGet(list,PS_LIST_HEAD); 606 if ( (! psListRemove (list,PS_LIST_UNKNOWN,data)) ||515 if ( (! psListRemoveData(list,data)) || 607 516 (psListGet(list,PS_LIST_HEAD) == data) ) { 608 517 printListInt(list); … … 611 520 } 612 521 613 if (list->size != 8) {614 printListInt(list); 615 psError(PS_ERR_UNKNOWN, true,"Didn't decrement size properly to 8.");522 if (list->size != --items) { 523 printListInt(list); 524 psError(PS_ERR_UNKNOWN, true,"Didn't decrement size properly to %d.",items); 616 525 return 1; 617 526 } 618 527 619 528 data = psListGet(list,PS_LIST_TAIL); 620 if ( (!psListRemove (list,PS_LIST_UNKNOWN,data)) ||529 if ( (!psListRemoveData(list,data)) || 621 530 (psListGet(list,PS_LIST_TAIL) == data) ) { 622 531 printListInt(list); … … 625 534 } 626 535 627 if (list->size != 7) { 628 printListInt(list); 629 psError(PS_ERR_UNKNOWN, true,"Didn't decrement size properly to 7."); 630 return 1; 631 } 632 633 psListSetIterator(list,PS_LIST_HEAD); 634 635 data = psListGet(list,PS_LIST_NEXT); 636 if ( (! psListRemove(list,PS_LIST_UNKNOWN,data))|| 536 if (list->size != --items) { 537 printListInt(list); 538 psError(PS_ERR_UNKNOWN, true,"Didn't decrement size properly to %d.",items); 539 return 1; 540 } 541 542 data = psListGet(list,1); 543 if ( (! psListRemoveData(list,data))|| 637 544 (psListGet(list,1) == data) ) { 638 545 printListInt(list); 639 psError(PS_ERR_UNKNOWN, true,"Failed to remove PS_LIST_UNKNOWN@ which=1");640 return 1; 641 } 642 643 if (list->size != 6) {644 printListInt(list); 645 psError(PS_ERR_UNKNOWN, true,"Didn't decrement size properly to 6.");646 return 1; 647 } 648 649 // 8. which is PS_LIST_UNKNOWN anddata!=NULL and data!=any element in list546 psError(PS_ERR_UNKNOWN, true,"Failed to remove data @ which=1"); 547 return 1; 548 } 549 550 if (list->size != --items) { 551 printListInt(list); 552 psError(PS_ERR_UNKNOWN, true,"Didn't decrement size properly to %d.",items); 553 return 1; 554 } 555 556 // 8. data!=NULL and data!=any element in list 650 557 psLogMsg(__func__,PS_LOG_INFO,"Next message should be an error"); 651 if ( psListRemove (list,PS_LIST_UNKNOWN,data) ) {558 if ( psListRemoveData(list,data) ) { 652 559 printListInt(list); 653 560 psError(PS_ERR_UNKNOWN, true,"removed something for PS_LIST_UNKNOWN with previously removed item"); … … 655 562 } 656 563 564 if (list->size != items) { 565 printListInt(list); 566 psError(PS_ERR_UNKNOWN, true,"size not %d, as expected.",items); 567 return 1; 568 } 569 657 570 // clear out the list 658 psListRemove(list,PS_LIST_HEAD,NULL); 659 psListRemove(list,PS_LIST_HEAD,NULL); 660 psListRemove(list,PS_LIST_HEAD,NULL); 661 psListRemove(list,PS_LIST_HEAD,NULL); 662 psListRemove(list,PS_LIST_HEAD,NULL); 571 while (items > 1) { 572 psListRemove(list,PS_LIST_HEAD); 573 items--; 574 } 663 575 664 576 data = psListGet(list,PS_LIST_HEAD); 665 if ( (! psListRemove(list,PS_LIST_HEAD ,data)) ||577 if ( (! psListRemove(list,PS_LIST_HEAD)) || 666 578 (psListGet(list,PS_LIST_HEAD) == data) ) { 667 579 printListInt(list); … … 844 756 } 845 757 846 847 // 1. output error message and do nothing if list=NULL 758 psListIterator* iter = psListIteratorAlloc(list,PS_LIST_HEAD); 759 if (iter == NULL) { 760 psError(PS_ERR_UNKNOWN, true,"Failed to make an iterator."); 761 return 22; 762 } 763 764 // 1. output error message and do nothing if iterator=NULL 848 765 psLogMsg(__func__,PS_LOG_INFO,"Following should error with " 849 766 "'Unexpected null pointer'"); 850 psListSetIterator(NULL,PS_LIST_HEAD); 767 psListIteratorSet(NULL,PS_LIST_HEAD); 768 if (psListIteratorSet(NULL,PS_LIST_HEAD)) { 769 psError(PS_ERR_UNKNOWN, true,"Success while setting position of a NULL iterator?"); 770 return 23; 771 } 772 851 773 852 774 // 3. set list.cursor to list.tail if where=PS_LIST_TAIL 853 psListSetIterator(list,PS_LIST_TAIL); 854 if (*(psS32*)psListGetCurrent(list) != 14) { 775 776 if (!psListIteratorSet(iter,PS_LIST_TAIL) || 777 *(psS32*)iter->cursor->data != 14 || 778 iter->index != 14) { 855 779 psError(PS_ERR_UNKNOWN, true,"Didn't successfully move cursor to tail."); 856 780 return 1; … … 858 782 859 783 // 2. set list.cursor to list.head if where=PS_LIST_HEAD 860 psListSetIterator(list,PS_LIST_HEAD); 861 if (*(psS32*)psListGetCurrent(list) != 0) { 784 if (!psListIteratorSet(iter,PS_LIST_HEAD) || 785 *(psS32*)iter->cursor->data != 0 || 786 iter->index != 0) { 862 787 psError(PS_ERR_UNKNOWN, true,"Didn't successfully move cursor to head."); 863 788 return 2; 864 789 } 865 790 866 // 4. set list.cursor to list.cursor->next if where=PS_LIST_NEXT 867 psListSetIterator(list,PS_LIST_NEXT); 868 if (*(psS32*)psListGetCurrent(list) != 1) { 869 psError(PS_ERR_UNKNOWN, true,"Didn't successfully move cursor to next."); 870 return 3; 871 } 872 psListSetIterator(list,PS_LIST_NEXT); 873 if (*(psS32*)psListGetCurrent(list) != 2) { 874 psError(PS_ERR_UNKNOWN, true,"Didn't successfully move cursor to next twice."); 875 return 4; 876 } 877 878 // 5. set list.cursor to list.cursor->prev if where=PS_LIST_PREV 879 psListSetIterator(list,PS_LIST_PREVIOUS); 880 if (*(psS32*)psListGetCurrent(list) != 1) { 881 psError(PS_ERR_UNKNOWN, true,"Didn't successfully move cursor to previous."); 882 return 5; 883 } 884 psListSetIterator(list,PS_LIST_PREVIOUS); 885 if (*(psS32*)psListGetCurrent(list) != 0) { 886 psError(PS_ERR_UNKNOWN, true,"Didn't successfully move cursor to previous twice."); 887 return 6; 888 } 889 890 // 6. leave list.cursor untouched if where=PS_LIST_UNKNOWN or PS_LIST_CURRENT 891 psListSetIterator(list,PS_LIST_NEXT); // move off of head (works according to above) 892 psLogMsg(__func__,PS_LOG_INFO,"Following should error with 'Can't move to an unknown position.'"); 893 psListSetIterator(list,PS_LIST_UNKNOWN); 894 if (*(psS32*)psListGetCurrent(list) != 1) { 895 psError(PS_ERR_UNKNOWN, true,"PS_LIST_UNKNOWN moved cursor."); 896 return 7; 897 } 898 psListSetIterator(list,PS_LIST_CURRENT); 899 if (*(psS32*)psListGetCurrent(list) != 1) { 900 psError(PS_ERR_UNKNOWN, true,"PS_LIST_CURRENT moved cursor."); 791 // test psListGetPrevious/Next 792 if (*(psS32*)psListGetNext(iter) != 0) { 793 psError(PS_ERR_UNKNOWN, true,"psListGetNext didn't move cursor to next."); 901 794 return 8; 902 795 } 903 904 // test psListGetPrevious/Next 905 if (*(psS32*)psListGetNext(list) != 2) { 796 if (*(psS32*)psListGetNext(iter) != 1) { 906 797 psError(PS_ERR_UNKNOWN, true,"psListGetNext didn't move cursor to next."); 907 798 return 9; 908 799 } 909 if (*(psS32*)psListGetNext( list) != 3) {800 if (*(psS32*)psListGetNext(iter) != 2) { 910 801 psError(PS_ERR_UNKNOWN, true,"psListGetNext didn't move cursor to next."); 911 802 return 10; 912 803 } 913 if (*(psS32*)psListGetPrevious(list) != 2) { 804 805 if (*(psS32*)psListGetPrevious(iter) != 3) { 914 806 psError(PS_ERR_UNKNOWN, true,"psListGetPrevious didn't move cursor to previous."); 915 807 return 11; 916 808 } 917 if (*(psS32*)psListGetPrevious( list) != 1) {809 if (*(psS32*)psListGetPrevious(iter) != 2) { 918 810 psError(PS_ERR_UNKNOWN, true,"psListGetPrevious didn't move cursor to previous."); 919 811 return 12; 920 812 } 921 if (*(psS32*)psListGetPrevious( list) != 0) {813 if (*(psS32*)psListGetPrevious(iter) != 1) { 922 814 psError(PS_ERR_UNKNOWN, true,"psListGetPrevious didn't move cursor to previous.."); 923 815 return 13; 924 816 } 925 if (psListGetPrevious(list) != NULL) { 817 if (*(psS32*)psListGetPrevious(iter) != 0) { 818 psError(PS_ERR_UNKNOWN, true,"psListGetPrevious didn't move cursor to previous.."); 819 return 14; 820 } 821 if (psListGetPrevious(iter) != NULL) { 926 822 psError(PS_ERR_UNKNOWN, true,"psListGetPrevious moved cursor beyond head."); 927 return 1 4;928 } 929 930 psList SetIterator(list,PS_LIST_TAIL); // works according to an above test931 if ( psListGetNext(list) != NULL) {823 return 15; 824 } 825 826 psListIteratorSet(iter,PS_LIST_TAIL); // works according to an above test 827 if (*(psS32*)psListGetNext(iter) != 14) { 932 828 psError(PS_ERR_UNKNOWN, true,"psListGetNext moved cursor beyond tail."); 933 return 15; 829 return 16; 830 } 831 if (psListGetNext(iter) != NULL) { 832 psError(PS_ERR_UNKNOWN, true,"psListGetNext moved cursor beyond tail."); 833 return 17; 934 834 } 935 835 … … 1001 901 { 1002 902 psList* list; 903 psListIterator* iter; 904 float* fValue; 905 psU32* uValue; 1003 906 1004 907 list = psListAlloc(NULL); … … 1017 920 1018 921 printf("original list = ["); 1019 for (float* iter = psListGet(list,PS_LIST_HEAD); 1020 iter != NULL; 1021 iter = psListGet(list,PS_LIST_NEXT)) { 1022 printf(" %.1f",*iter); 922 iter = psListIteratorAlloc(list,PS_LIST_HEAD); 923 while( (fValue=psListGetNext(iter)) != NULL ) { 924 printf(" %.1f",*fValue); 1023 925 } 1024 926 printf(" ]\n"); … … 1027 929 1028 930 printf("sorted list = ["); 1029 for (float* iter = psListGet(list,PS_LIST_HEAD); 1030 iter != NULL; 1031 iter = psListGet(list,PS_LIST_NEXT)) { 1032 printf(" %.1f",*iter); 931 psListIteratorSet(iter,PS_LIST_HEAD); 932 while( (fValue=psListGetNext(iter)) != NULL ) { 933 printf(" %.1f",*fValue); 1033 934 } 1034 935 printf(" ]\n"); 1035 936 1036 float* prevValue = psListGet(list,PS_LIST_HEAD); 1037 for (float* iter = psListGet(list,PS_LIST_NEXT); 1038 iter != NULL; 1039 iter = psListGet(list,PS_LIST_NEXT)) { 1040 if (*prevValue > *iter) { 937 psListIteratorSet(iter,PS_LIST_HEAD); 938 float* prevFValue = psListGetNext(iter); 939 while( (fValue=psListGetNext(iter)) != NULL ) { 940 if (*prevFValue > *fValue) { 1041 941 psError(PS_ERR_UNKNOWN, true,"Hey, the list wasn't sorted!?"); 1042 942 return 1; … … 1047 947 1048 948 printf("descending sort list = ["); 1049 for (float* iter = psListGet(list,PS_LIST_HEAD); 1050 iter != NULL; 1051 iter = psListGet(list,PS_LIST_NEXT)) { 1052 printf(" %.1f",*iter); 949 psListIteratorSet(iter,PS_LIST_HEAD); 950 while( (fValue=psListGetNext(iter)) != NULL ) { 951 printf(" %.1f",*fValue); 1053 952 } 1054 953 printf(" ]\n"); 1055 954 1056 prevValue = psListGet(list,PS_LIST_HEAD); 1057 for (float* iter = psListGet(list,PS_LIST_NEXT); 1058 iter != NULL; 1059 iter = psListGet(list,PS_LIST_NEXT)) { 1060 if (*prevValue < *iter) { 955 psListIteratorSet(iter,PS_LIST_HEAD); 956 prevFValue = psListGetNext(iter); 957 while( (fValue=psListGetNext(iter)) != NULL ) { 958 if (*prevFValue < *fValue) { 1061 959 psError(PS_ERR_UNKNOWN, true,"Hey, the list wasn't sorted!?"); 1062 return 1;960 return 2; 1063 961 } 1064 962 } … … 1083 981 1084 982 printf("original list = ["); 1085 for (psU32* iter = psListGet(list,PS_LIST_HEAD); 1086 iter != NULL; 1087 iter = psListGet(list,PS_LIST_NEXT)) { 1088 printf(" %d",*iter); 983 psListIteratorSet(iter,PS_LIST_HEAD); 984 while( (uValue=psListGetNext(iter)) != NULL ) { 985 printf(" %d",*uValue); 1089 986 } 1090 987 printf(" ]\n"); … … 1093 990 1094 991 printf("sorted list = ["); 1095 for (psU32* iter = psListGet(list,PS_LIST_HEAD); 1096 iter != NULL; 1097 iter = psListGet(list,PS_LIST_NEXT)) { 1098 printf(" %d",*iter); 992 psListIteratorSet(iter,PS_LIST_HEAD); 993 while( (uValue=psListGetNext(iter)) != NULL ) { 994 printf(" %d",*uValue); 1099 995 } 1100 996 printf(" ]\n"); 1101 997 1102 psU32* prev = psListGet(list,PS_LIST_HEAD); 1103 for (psU32* iter = psListGet(list,PS_LIST_NEXT); 1104 iter != NULL; 1105 iter = psListGet(list,PS_LIST_NEXT)) { 1106 if (*prev > *iter) { 998 psListIteratorSet(iter,PS_LIST_HEAD); 999 psU32* prevUValue = psListGetNext(iter); 1000 while( (uValue=psListGetNext(iter)) != NULL ) { 1001 if (*prevUValue < *uValue) { 1107 1002 psError(PS_ERR_UNKNOWN, true,"Hey, the list wasn't sorted!?"); 1108 return 1;1003 return 3; 1109 1004 } 1110 1005 } … … 1113 1008 1114 1009 printf("descending sort list = ["); 1115 for (psU32* iter = psListGet(list,PS_LIST_HEAD); 1116 iter != NULL; 1117 iter = psListGet(list,PS_LIST_NEXT)) { 1118 printf(" %d",*iter); 1010 psListIteratorSet(iter,PS_LIST_HEAD); 1011 while( (uValue=psListGetNext(iter)) != NULL ) { 1012 printf(" %d",*uValue); 1119 1013 } 1120 1014 printf(" ]\n"); 1121 1015 1122 prev = psListGet(list,PS_LIST_HEAD); 1123 for (psU32* iter = psListGet(list,PS_LIST_NEXT); 1124 iter != NULL; 1125 iter = psListGet(list,PS_LIST_NEXT)) { 1126 if (*prev < *iter) { 1016 psListIteratorSet(iter,PS_LIST_HEAD); 1017 prevUValue = psListGetNext(iter); 1018 while( (uValue=psListGetNext(iter)) != NULL ) { 1019 if (*prevUValue < *uValue) { 1127 1020 psError(PS_ERR_UNKNOWN, true,"Hey, the list wasn't sorted!?"); 1128 return 1; 1129 } 1130 } 1131 1132 psFree(list); 1133 1021 return 4; 1022 } 1023 } 1024 1025 psFree(list); 1134 1026 1135 1027 return 0; -
trunk/psLib/test/collections/tst_psMetadataIO.c
r2607 r2681 13 13 * @author Ross Harman, MHPCC 14 14 * 15 * @version $Revision: 1. 5$ $Name: not supported by cvs2svn $16 * @date $Date: 2004-12- 03 23:19:07$15 * @version $Revision: 1.6 $ $Name: not supported by cvs2svn $ 16 * @date $Date: 2004-12-10 02:50:15 $ 17 17 * 18 18 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 41 41 psMetadataItem *entryChild = NULL; 42 42 43 psList SetIterator(metadataItemList, PS_LIST_HEAD);44 entryChild = psListGetCurrent(metadataItemList); 45 while ( entryChild!= NULL) {43 psListIterator* iter = psListIteratorAlloc(metadataItemList, PS_LIST_HEAD); 44 45 while ( (entryChild=psListGetNext(iter)) != NULL) { 46 46 printMetadataItem(entryChild, spaces); 47 entryChild = psListGetNext(metadataItemList);48 47 } 48 49 psFree(iter); 49 50 } 50 51 -
trunk/psLib/test/collections/tst_psMetadata_01.c
r2607 r2681 18 18 * @author Ross Harman, MHPCC 19 19 * 20 * @version $Revision: 1.1 6$ $Name: not supported by cvs2svn $21 * @date $Date: 2004-12- 03 23:19:07$20 * @version $Revision: 1.17 $ $Name: not supported by cvs2svn $ 21 * @date $Date: 2004-12-10 02:50:15 $ 22 22 * 23 23 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 46 46 psMetadataItem *entryChild = NULL; 47 47 48 psList SetIterator(metadataItemList, PS_LIST_HEAD);49 entryChild = psListGetCurrent(metadataItemList); 50 while ( entryChild!= NULL) {48 psListIterator* iter = psListIteratorAlloc(metadataItemList, PS_LIST_HEAD); 49 50 while ( (entryChild=psListGetNext(iter)) != NULL) { 51 51 printMetadataItem(entryChild, spaces); 52 entryChild = psListGetNext(metadataItemList); 53 } 52 } 53 54 psFree(iter); 55 54 56 } 55 57
Note:
See TracChangeset
for help on using the changeset viewer.
