Changeset 3495
- Timestamp:
- Mar 24, 2005, 12:21:17 PM (21 years ago)
- Location:
- trunk/psLib
- Files:
-
- 10 edited
-
pslib.kdevelop.pcs (modified) ( previous)
-
pslib.kdevses (modified) (1 diff)
-
src/astronomy/psMetadata.c (modified) (3 diffs)
-
src/collections/psMetadata.c (modified) (3 diffs)
-
src/dataIO/psFits.c (modified) (5 diffs)
-
src/fileUtils/psFits.c (modified) (5 diffs)
-
src/fits/psFits.c (modified) (5 diffs)
-
src/types/psMetadata.c (modified) (3 diffs)
-
test/dataIO/tst_psFits.c (modified) (4 diffs)
-
test/fileUtils/tst_psFits.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/pslib.kdevses
r3476 r3495 4 4 <DocsAndViews NumberOfDocuments="5" > 5 5 <Doc0 NumberOfViews="1" URL="file:///home/desonia/panstarrs/psLib/src/fileUtils/psFits.h" > 6 <View0 line="2 19" Type="Source" />6 <View0 line="220" Type="Source" /> 7 7 </Doc0> 8 8 <Doc1 NumberOfViews="1" URL="file:///home/desonia/panstarrs/psLib/src/fileUtils/psFits.c" > 9 <View0 line="1 379" Type="Source" />9 <View0 line="1654" Type="Source" /> 10 10 </Doc1> 11 11 <Doc2 NumberOfViews="1" URL="file:///home/desonia/panstarrs/psLib/test/fileUtils/tst_psFits.c" > 12 <View0 line=" 917" Type="Source" />12 <View0 line="1177" Type="Source" /> 13 13 </Doc2> 14 <Doc3 NumberOfViews="1" URL="file:///home/desonia/panstarrs/psLib/ src/collections/psVector.h" >15 <View0 line=" 156" Type="Source" />14 <Doc3 NumberOfViews="1" URL="file:///home/desonia/panstarrs/psLib/include/psMetadata.h" > 15 <View0 line="299" Type="Source" /> 16 16 </Doc3> 17 <Doc4 NumberOfViews="1" URL="file:///home/desonia/panstarrs/psLib/ src/collections/psVector.c" >18 <View0 line=" 537" Type="Source" />17 <Doc4 NumberOfViews="1" URL="file:///home/desonia/panstarrs/psLib/configure.ac" > 18 <View0 line="67" Type="Source" /> 19 19 </Doc4> 20 20 </DocsAndViews> -
trunk/psLib/src/astronomy/psMetadata.c
r3407 r3495 1 2 1 /** @file psMetadata.c 3 2 * … … 12 11 * @author Ross Harman, MHPCC 13 12 * 14 * @version $Revision: 1.5 5$ $Name: not supported by cvs2svn $15 * @date $Date: 2005-03- 11 20:38:56$13 * @version $Revision: 1.56 $ $Name: not supported by cvs2svn $ 14 * @date $Date: 2005-03-24 22:21:17 $ 16 15 * 17 16 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 119 118 } 120 119 psFree(iter->iter); 121 regfree(iter->preg); 120 121 if (iter->preg != NULL) { 122 regfree(iter->preg); 123 } 122 124 } 123 125 -
trunk/psLib/src/collections/psMetadata.c
r3407 r3495 1 2 1 /** @file psMetadata.c 3 2 * … … 12 11 * @author Ross Harman, MHPCC 13 12 * 14 * @version $Revision: 1.5 5$ $Name: not supported by cvs2svn $15 * @date $Date: 2005-03- 11 20:38:56$13 * @version $Revision: 1.56 $ $Name: not supported by cvs2svn $ 14 * @date $Date: 2005-03-24 22:21:17 $ 16 15 * 17 16 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 119 118 } 120 119 psFree(iter->iter); 121 regfree(iter->preg); 120 121 if (iter->preg != NULL) { 122 regfree(iter->preg); 123 } 122 124 } 123 125 -
trunk/psLib/src/dataIO/psFits.c
r3476 r3495 7 7 * @author Robert DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1.2 2$ $Name: not supported by cvs2svn $10 * @date $Date: 2005-03-2 2 21:52:49$9 * @version $Revision: 1.23 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2005-03-24 22:21:17 $ 11 11 * 12 12 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 1668 1668 } 1669 1669 1670 1671 1670 // check to see if we even are positioned on a table HDU 1672 1671 int hdutype; … … 1684 1683 return false; 1685 1684 } 1686 1687 1685 1688 1686 psMetadataIterator* iter = psMetadataIteratorAlloc(data,PS_LIST_HEAD,NULL); … … 1700 1698 convertPsTypeToFits(item->type, NULL, NULL, &dataType); 1701 1699 1702 if (fits_write_col(fits->p_fd, dataType, colnum, row , 0,1,&item->data,&status) != 0) {1700 if (fits_write_col(fits->p_fd, dataType, colnum, row+1, 1, 1, &item->data,&status) != 0) { 1703 1701 char fitsErr[MAX_STRING_LENGTH]; 1704 1702 (void)fits_get_errstatus(status, fitsErr); … … 1706 1704 PS_ERRORTEXT_psFits_WRITE_FAILED, 1707 1705 fits->filename, fitsErr); 1706 psFree(iter); 1708 1707 return false; 1709 1708 } 1709 } else { 1710 // the column was not found. 1711 psWarning("No column with the name '%s' exists in the table.", 1712 item->name); 1710 1713 } 1711 1714 } -
trunk/psLib/src/fileUtils/psFits.c
r3476 r3495 7 7 * @author Robert DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1.2 2$ $Name: not supported by cvs2svn $10 * @date $Date: 2005-03-2 2 21:52:49$9 * @version $Revision: 1.23 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2005-03-24 22:21:17 $ 11 11 * 12 12 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 1668 1668 } 1669 1669 1670 1671 1670 // check to see if we even are positioned on a table HDU 1672 1671 int hdutype; … … 1684 1683 return false; 1685 1684 } 1686 1687 1685 1688 1686 psMetadataIterator* iter = psMetadataIteratorAlloc(data,PS_LIST_HEAD,NULL); … … 1700 1698 convertPsTypeToFits(item->type, NULL, NULL, &dataType); 1701 1699 1702 if (fits_write_col(fits->p_fd, dataType, colnum, row , 0,1,&item->data,&status) != 0) {1700 if (fits_write_col(fits->p_fd, dataType, colnum, row+1, 1, 1, &item->data,&status) != 0) { 1703 1701 char fitsErr[MAX_STRING_LENGTH]; 1704 1702 (void)fits_get_errstatus(status, fitsErr); … … 1706 1704 PS_ERRORTEXT_psFits_WRITE_FAILED, 1707 1705 fits->filename, fitsErr); 1706 psFree(iter); 1708 1707 return false; 1709 1708 } 1709 } else { 1710 // the column was not found. 1711 psWarning("No column with the name '%s' exists in the table.", 1712 item->name); 1710 1713 } 1711 1714 } -
trunk/psLib/src/fits/psFits.c
r3476 r3495 7 7 * @author Robert DeSonia, MHPCC 8 8 * 9 * @version $Revision: 1.2 2$ $Name: not supported by cvs2svn $10 * @date $Date: 2005-03-2 2 21:52:49$9 * @version $Revision: 1.23 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2005-03-24 22:21:17 $ 11 11 * 12 12 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 1668 1668 } 1669 1669 1670 1671 1670 // check to see if we even are positioned on a table HDU 1672 1671 int hdutype; … … 1684 1683 return false; 1685 1684 } 1686 1687 1685 1688 1686 psMetadataIterator* iter = psMetadataIteratorAlloc(data,PS_LIST_HEAD,NULL); … … 1700 1698 convertPsTypeToFits(item->type, NULL, NULL, &dataType); 1701 1699 1702 if (fits_write_col(fits->p_fd, dataType, colnum, row , 0,1,&item->data,&status) != 0) {1700 if (fits_write_col(fits->p_fd, dataType, colnum, row+1, 1, 1, &item->data,&status) != 0) { 1703 1701 char fitsErr[MAX_STRING_LENGTH]; 1704 1702 (void)fits_get_errstatus(status, fitsErr); … … 1706 1704 PS_ERRORTEXT_psFits_WRITE_FAILED, 1707 1705 fits->filename, fitsErr); 1706 psFree(iter); 1708 1707 return false; 1709 1708 } 1709 } else { 1710 // the column was not found. 1711 psWarning("No column with the name '%s' exists in the table.", 1712 item->name); 1710 1713 } 1711 1714 } -
trunk/psLib/src/types/psMetadata.c
r3407 r3495 1 2 1 /** @file psMetadata.c 3 2 * … … 12 11 * @author Ross Harman, MHPCC 13 12 * 14 * @version $Revision: 1.5 5$ $Name: not supported by cvs2svn $15 * @date $Date: 2005-03- 11 20:38:56$13 * @version $Revision: 1.56 $ $Name: not supported by cvs2svn $ 14 * @date $Date: 2005-03-24 22:21:17 $ 16 15 * 17 16 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 119 118 } 120 119 psFree(iter->iter); 121 regfree(iter->preg); 120 121 if (iter->preg != NULL) { 122 regfree(iter->preg); 123 } 122 124 } 123 125 -
trunk/psLib/test/dataIO/tst_psFits.c
r3475 r3495 6 6 * @author Robert DeSonia, MHPCC 7 7 * 8 * @version $Revision: 1.2 2$ $Name: not supported by cvs2svn $9 * @date $Date: 2005-03-2 2 21:52:40$8 * @version $Revision: 1.23 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2005-03-24 22:21:17 $ 10 10 * 11 11 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 49 49 static psS32 tst_psFitsReadTableColumnNum(void); 50 50 static psS32 tst_psFitsReadTableColumn(void); 51 static psS32 tst_psFitsUpdateTable(void); 51 52 52 53 testDescription tests[] = { … … 62 63 {tst_psFitsReadTableColumnNum,836, "psFitsReadTableColumnNum", 0, false}, 63 64 {tst_psFitsReadTableColumn,839, "psFitsReadTableColumn", 0, false}, 65 {tst_psFitsUpdateTable,840, "psFitsUpdateTable", 0, false}, 64 66 {testImageRead,567, "psFitsReadImage", 0, false}, 65 67 {testImageWrite,569, "psFitsWriteImage", 0, false}, … … 1081 1083 psFree(err); 1082 1084 1085 psFree(fits); 1086 1087 return 0; 1088 } 1089 1090 static psS32 tst_psFitsUpdateTable( void ) 1091 { 1092 psErr* err; 1093 1094 if (! makeTable()) { 1095 return 1; 1096 } 1097 1098 psFits* fits = psFitsAlloc(tableFilename); 1099 1100 if (fits == NULL) { 1101 psError(PS_ERR_UNKNOWN, false, 1102 "psFitsAlloc returned NULL on existing file."); 1103 return 2; 1104 } 1105 1106 psFitsMoveExtNum(fits,1,false); 1107 1108 // change the data in the file, going past by one (implicit new row of data) 1109 for (int row = 0; row < tableNumRows+1; row++) { 1110 psMetadata* md = psMetadataAlloc(); 1111 psMetadataAddF32(md,PS_LIST_TAIL,"MYFLT","",(float)row/-10.0); 1112 psMetadataAddF64(md,PS_LIST_TAIL,"MYDBL","",(double)row/-100.0); 1113 psMetadataAddS32(md,PS_LIST_TAIL,"MYINT","",-row); 1114 1115 if (! psFitsUpdateTable(fits,md,row)) { 1116 psError(PS_ERR_UNKNOWN, false, 1117 "psFitsUpdateTable returned false, but expected true for row=%d.", 1118 row); 1119 return 3; 1120 } 1121 psFree(md); 1122 } 1123 1124 for (int row = 0; row < tableNumRows+1; row++) { 1125 psMetadata* md = psFitsReadTableRow(fits, row); 1126 if (abs(psMetadataLookupF32(NULL,md,"MYFLT") - (float)row/-10.0) > FLT_EPSILON) { 1127 psError(PS_ERR_UNKNOWN, false, 1128 "psFitsUpdateTable did not change the float value for row=%d.", 1129 row); 1130 return 4; 1131 } 1132 if (abs(psMetadataLookupF64(NULL,md,"MYDBL") - (float)row/-100.0) > FLT_EPSILON) { 1133 psError(PS_ERR_UNKNOWN, false, 1134 "psFitsUpdateTable did not change the double value for row=%d.", 1135 row); 1136 return 5; 1137 } 1138 if (psMetadataLookupS32(NULL,md,"MYINT") != -row) { 1139 psError(PS_ERR_UNKNOWN, false, 1140 "psFitsUpdateTable did not change the integer value for row=%d.", 1141 row); 1142 return 6; 1143 } 1144 psFree(md); 1145 } 1146 1147 psMetadata* md = psMetadataAlloc(); 1148 psMetadataAddF32(md,PS_LIST_TAIL,"BOGUS","",-1.0f); 1149 psWarning("Following should be a warning."); 1150 psErrorClear(); 1151 if (! psFitsUpdateTable(fits,md,0)) { 1152 psError(PS_ERR_UNKNOWN, false, 1153 "psFitsUpdateTable did not return false with bogus column data"); 1154 return 10; 1155 } 1156 psFree(md); 1157 1158 md = psMetadataAlloc(); 1159 psMetadataAddF32(md,PS_LIST_TAIL,"MYFLT","",-1.0f); 1160 psMetadataAddF64(md,PS_LIST_TAIL,"MYDBL","",-2.0); 1161 psMetadataAddS32(md,PS_LIST_TAIL,"MYINT","",-3); 1162 1163 psWarning("Following should be an error."); 1164 psErrorClear(); 1165 if (psFitsUpdateTable(NULL,md,0)) { 1166 psError(PS_ERR_UNKNOWN, false, 1167 "psFitsUpdateTable did not return false with NULL psFits"); 1168 return 20; 1169 } 1170 err = psErrorLast(); 1171 if (err->code != PS_ERR_BAD_PARAMETER_NULL) { 1172 psError(PS_ERR_UNKNOWN, false, 1173 "psFitsUpdateTable did not error with NULL psFits"); 1174 return 21; 1175 } 1176 psFree(err); 1177 1178 psWarning("Following should be an error."); 1179 psErrorClear(); 1180 if (psFitsUpdateTable(fits,NULL,0)) { 1181 psError(PS_ERR_UNKNOWN, false, 1182 "psFitsUpdateTable did not return false with NULL psMetadata"); 1183 return 22; 1184 } 1185 err = psErrorLast(); 1186 if (err->code != PS_ERR_BAD_PARAMETER_NULL) { 1187 psError(PS_ERR_UNKNOWN, false, 1188 "psFitsUpdateTable did not error with NULL psMetadata"); 1189 return 23; 1190 } 1191 psFree(err); 1192 1193 psWarning("Following should be an error."); 1194 psErrorClear(); 1195 if (psFitsUpdateTable(fits,md,-1)) { 1196 psError(PS_ERR_UNKNOWN, false, 1197 "psFitsUpdateTable did not return false with row=-1"); 1198 return 24; 1199 } 1200 err = psErrorLast(); 1201 if (err->code != PS_ERR_IO) { 1202 psError(PS_ERR_UNKNOWN, false, 1203 "psFitsUpdateTable did not error with row=-1"); 1204 return 25; 1205 } 1206 1207 psFree(err); 1208 psFree(md); 1083 1209 psFree(fits); 1084 1210 -
trunk/psLib/test/fileUtils/tst_psFits.c
r3475 r3495 6 6 * @author Robert DeSonia, MHPCC 7 7 * 8 * @version $Revision: 1.2 2$ $Name: not supported by cvs2svn $9 * @date $Date: 2005-03-2 2 21:52:40$8 * @version $Revision: 1.23 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2005-03-24 22:21:17 $ 10 10 * 11 11 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 49 49 static psS32 tst_psFitsReadTableColumnNum(void); 50 50 static psS32 tst_psFitsReadTableColumn(void); 51 static psS32 tst_psFitsUpdateTable(void); 51 52 52 53 testDescription tests[] = { … … 62 63 {tst_psFitsReadTableColumnNum,836, "psFitsReadTableColumnNum", 0, false}, 63 64 {tst_psFitsReadTableColumn,839, "psFitsReadTableColumn", 0, false}, 65 {tst_psFitsUpdateTable,840, "psFitsUpdateTable", 0, false}, 64 66 {testImageRead,567, "psFitsReadImage", 0, false}, 65 67 {testImageWrite,569, "psFitsWriteImage", 0, false}, … … 1081 1083 psFree(err); 1082 1084 1085 psFree(fits); 1086 1087 return 0; 1088 } 1089 1090 static psS32 tst_psFitsUpdateTable( void ) 1091 { 1092 psErr* err; 1093 1094 if (! makeTable()) { 1095 return 1; 1096 } 1097 1098 psFits* fits = psFitsAlloc(tableFilename); 1099 1100 if (fits == NULL) { 1101 psError(PS_ERR_UNKNOWN, false, 1102 "psFitsAlloc returned NULL on existing file."); 1103 return 2; 1104 } 1105 1106 psFitsMoveExtNum(fits,1,false); 1107 1108 // change the data in the file, going past by one (implicit new row of data) 1109 for (int row = 0; row < tableNumRows+1; row++) { 1110 psMetadata* md = psMetadataAlloc(); 1111 psMetadataAddF32(md,PS_LIST_TAIL,"MYFLT","",(float)row/-10.0); 1112 psMetadataAddF64(md,PS_LIST_TAIL,"MYDBL","",(double)row/-100.0); 1113 psMetadataAddS32(md,PS_LIST_TAIL,"MYINT","",-row); 1114 1115 if (! psFitsUpdateTable(fits,md,row)) { 1116 psError(PS_ERR_UNKNOWN, false, 1117 "psFitsUpdateTable returned false, but expected true for row=%d.", 1118 row); 1119 return 3; 1120 } 1121 psFree(md); 1122 } 1123 1124 for (int row = 0; row < tableNumRows+1; row++) { 1125 psMetadata* md = psFitsReadTableRow(fits, row); 1126 if (abs(psMetadataLookupF32(NULL,md,"MYFLT") - (float)row/-10.0) > FLT_EPSILON) { 1127 psError(PS_ERR_UNKNOWN, false, 1128 "psFitsUpdateTable did not change the float value for row=%d.", 1129 row); 1130 return 4; 1131 } 1132 if (abs(psMetadataLookupF64(NULL,md,"MYDBL") - (float)row/-100.0) > FLT_EPSILON) { 1133 psError(PS_ERR_UNKNOWN, false, 1134 "psFitsUpdateTable did not change the double value for row=%d.", 1135 row); 1136 return 5; 1137 } 1138 if (psMetadataLookupS32(NULL,md,"MYINT") != -row) { 1139 psError(PS_ERR_UNKNOWN, false, 1140 "psFitsUpdateTable did not change the integer value for row=%d.", 1141 row); 1142 return 6; 1143 } 1144 psFree(md); 1145 } 1146 1147 psMetadata* md = psMetadataAlloc(); 1148 psMetadataAddF32(md,PS_LIST_TAIL,"BOGUS","",-1.0f); 1149 psWarning("Following should be a warning."); 1150 psErrorClear(); 1151 if (! psFitsUpdateTable(fits,md,0)) { 1152 psError(PS_ERR_UNKNOWN, false, 1153 "psFitsUpdateTable did not return false with bogus column data"); 1154 return 10; 1155 } 1156 psFree(md); 1157 1158 md = psMetadataAlloc(); 1159 psMetadataAddF32(md,PS_LIST_TAIL,"MYFLT","",-1.0f); 1160 psMetadataAddF64(md,PS_LIST_TAIL,"MYDBL","",-2.0); 1161 psMetadataAddS32(md,PS_LIST_TAIL,"MYINT","",-3); 1162 1163 psWarning("Following should be an error."); 1164 psErrorClear(); 1165 if (psFitsUpdateTable(NULL,md,0)) { 1166 psError(PS_ERR_UNKNOWN, false, 1167 "psFitsUpdateTable did not return false with NULL psFits"); 1168 return 20; 1169 } 1170 err = psErrorLast(); 1171 if (err->code != PS_ERR_BAD_PARAMETER_NULL) { 1172 psError(PS_ERR_UNKNOWN, false, 1173 "psFitsUpdateTable did not error with NULL psFits"); 1174 return 21; 1175 } 1176 psFree(err); 1177 1178 psWarning("Following should be an error."); 1179 psErrorClear(); 1180 if (psFitsUpdateTable(fits,NULL,0)) { 1181 psError(PS_ERR_UNKNOWN, false, 1182 "psFitsUpdateTable did not return false with NULL psMetadata"); 1183 return 22; 1184 } 1185 err = psErrorLast(); 1186 if (err->code != PS_ERR_BAD_PARAMETER_NULL) { 1187 psError(PS_ERR_UNKNOWN, false, 1188 "psFitsUpdateTable did not error with NULL psMetadata"); 1189 return 23; 1190 } 1191 psFree(err); 1192 1193 psWarning("Following should be an error."); 1194 psErrorClear(); 1195 if (psFitsUpdateTable(fits,md,-1)) { 1196 psError(PS_ERR_UNKNOWN, false, 1197 "psFitsUpdateTable did not return false with row=-1"); 1198 return 24; 1199 } 1200 err = psErrorLast(); 1201 if (err->code != PS_ERR_IO) { 1202 psError(PS_ERR_UNKNOWN, false, 1203 "psFitsUpdateTable did not error with row=-1"); 1204 return 25; 1205 } 1206 1207 psFree(err); 1208 psFree(md); 1083 1209 psFree(fits); 1084 1210
Note:
See TracChangeset
for help on using the changeset viewer.
