Changeset 6027
- Timestamp:
- Jan 16, 2006, 11:25:15 PM (21 years ago)
- Location:
- branches/eam_rel9_b1/psLib/src
- Files:
-
- 4 edited
-
math/psPolynomial.c (modified) (2 diffs)
-
math/psPolynomial.h (modified) (1 diff)
-
sys/psConfigure.c (modified) (1 diff)
-
types/psMetadataConfig.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_rel9_b1/psLib/src/math/psPolynomial.c
r5624 r6027 7 7 * polynomials. It also contains a Gaussian functions. 8 8 * 9 * @version $Revision: 1.133 $ $Name: not supported by cvs2svn $10 * @date $Date: 200 5-11-30 02:00:09 $9 * @version $Revision: 1.133.6.1 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2006-01-17 09:22:39 $ 11 11 * 12 12 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 1031 1031 return(tmp); 1032 1032 } 1033 -
branches/eam_rel9_b1/psLib/src/math/psPolynomial.h
r5294 r6027 11 11 * @author GLG, MHPCC 12 12 * 13 * @version $Revision: 1.58 $ $Name: not supported by cvs2svn $14 * @date $Date: 200 5-10-12 21:02:20$13 * @version $Revision: 1.58.16.1 $ $Name: not supported by cvs2svn $ 14 * @date $Date: 2006-01-17 09:22:39 $ 15 15 * 16 16 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii -
branches/eam_rel9_b1/psLib/src/sys/psConfigure.c
r5838 r6027 13 13 * @author Robert DeSonia, MHPCC 14 14 * 15 * @version $Revision: 1.12.6. 1$ $Name: not supported by cvs2svn $16 * @date $Date: 200 5-12-24 00:00:22$15 * @version $Revision: 1.12.6.2 $ $Name: not supported by cvs2svn $ 16 * @date $Date: 2006-01-17 09:24:55 $ 17 17 * 18 18 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii -
branches/eam_rel9_b1/psLib/src/types/psMetadataConfig.c
r5826 r6027 10 10 * @author Eric Van Alst, MHPCC 11 11 * 12 * @version $Revision: 1.48.16. 1$ $Name: not supported by cvs2svn $13 * @date $Date: 200 5-12-23 02:04:42$12 * @version $Revision: 1.48.16.2 $ $Name: not supported by cvs2svn $ 13 * @date $Date: 2006-01-17 09:25:15 $ 14 14 * 15 15 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 1225 1225 PS_ASSERT_PTR_NON_NULL(md, NULL); 1226 1226 1227 psString newString = NULL;1228 psString newStr= NULL;1229 char mdString[16000]; 1227 psString mdString = NULL; 1228 psString content = NULL; 1229 1230 1230 psMetadataItem *item = NULL; 1231 1231 psMetadataIterator *iter = psMetadataIteratorAlloc(md, PS_LIST_HEAD, NULL); 1232 psDataType type = PS_DATA_UNKNOWN;1233 // int size = 0;1234 int i = 0;1235 char content[MAXSTR];1236 char buffer[MAXSTR];1237 char *buffer2;1238 strcpy(content, "\0");1239 strcpy(mdString, "\0");1240 1232 1241 1233 while ( (item = psMetadataGetAndIncrement(iter)) ) { 1242 type = item->type;1243 if ( type == PS_DATA_STRING) {1244 type = PS_DATA_STRING;1245 }1246 if ( type == PS_DATA_VECTOR) {1247 type = PS_DATA_VECTOR;1248 }1249 if ( type == PS_DATA_TIME) {1250 type = PS_DATA_TIME;1251 }1252 if ( item->type == PS_DATA_METADATA) {1253 type = PS_DATA_METADATA;1254 }1255 1234 if (item == NULL) { 1256 type = PS_DATA_UNKNOWN; 1257 } 1258 1259 switch (type) { 1235 // XXX : this is probably not the right error value 1236 psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psMetadata_METATYPE_INVALID, PS_DATA_UNKNOWN); 1237 psFree(iter); 1238 return NULL; 1239 } 1240 1241 // In this block, the single item is used to build 'content' 1242 switch (item->type) { 1260 1243 case PS_DATA_BOOL: 1261 // size = strlen(item->name); 1262 snprintf(content, MAXSTR, "%s BOOL ", item->name); 1263 strncat(mdString, content, MAXSTR); 1264 if ( item->data.B ) 1265 strncat(mdString, "TRUE", MAXSTR); 1266 else 1267 strncat(mdString, "FALSE", MAXSTR); 1244 psStringAppend (&content, "%s BOOL ", item->name); 1245 if ( item->data.B ) { 1246 psStringAppend(&content, "TRUE"); 1247 } else { 1248 psStringAppend(&content, "FALSE"); 1249 } 1268 1250 if ( item->comment != NULL ) { 1269 // size = strlen(item->comment); 1270 snprintf(content, MAXSTR, " #%s \n", item->comment); 1271 strncat(mdString, content, MAXSTR); 1251 psStringAppend(&content, " #%s", item->comment); 1252 } 1253 psStringAppend(&content, " \n", item->comment); 1254 break; 1255 case PS_DATA_S32: 1256 psStringAppend(&content, "%s S32 ", item->name); 1257 psStringAppend(&content, "%d ", item->data.S32); 1258 if ( strncmp(item->comment,"",2) ) { 1259 psStringAppend(&content, " #%s", item->comment); 1260 } 1261 psStringAppend(&content, " \n"); 1262 break; 1263 case PS_DATA_F32: 1264 psStringAppend(&content, "%s F32 ", item->name); 1265 psStringAppend(&content, "%22.15g ", item->data.F32); 1266 if ( strncmp(item->comment,"",2) ) { 1267 psStringAppend(&content, " #%s", item->comment); 1268 } 1269 psStringAppend(&content, " \n"); 1270 break; 1271 case PS_DATA_F64: 1272 psStringAppend(&content, "%s F64 ", item->name); 1273 psStringAppend(&content, "%22.15g ", item->data.F64); 1274 if ( strncmp(item->comment,"",2) ) { 1275 psStringAppend(&content, " #%s", item->comment); 1276 } 1277 psStringAppend(&content, " \n"); 1278 break; 1279 case PS_DATA_STRING: 1280 psStringAppend(&content, "%s STR ", item->name); 1281 psStringAppend(&content, "%s ", ((char *)(item->data.V))); 1282 if ( strncmp(item->comment,"",2) ) { 1283 psStringAppend(&content, " #%s", item->comment); 1284 } 1285 psStringAppend(&content, " \n"); 1286 break; 1287 case PS_DATA_METADATA: 1288 psStringAppend(&content, "\n%s METADATA ", item->name); 1289 psString newStr = psMetadataConfigFormat(item->data.md); 1290 // XXX need to check for NULL return value, implying error 1291 // from a lower level 1292 1293 // add 3 extra spaces to each metadata folder item 1294 char *buffer2 = strtok(newStr, "\n"); 1295 while( buffer2 != NULL ) { 1296 psStringAppend(&content, "\n %s", buffer2); 1297 buffer2 = strtok(NULL, "\n"); 1298 } 1299 if ( strncmp(item->comment,"",2) ) { 1300 psStringAppend(&content, "\nEND #%s\n\n", item->comment); 1272 1301 } else { 1273 snprintf(content, MAXSTR, "\n"); 1274 strncat(mdString, content, MAXSTR); 1275 } 1276 break; 1277 case PS_DATA_S32: 1278 // size = strlen(item->name); 1279 snprintf(content, MAXSTR, "%s S32 ", item->name); 1280 strncat(mdString, content, MAXSTR); 1281 snprintf(content, MAXSTR, "%d ", item->data.S32); 1282 strncat(mdString, content, MAXSTR); 1283 if ( strncmp(item->comment,"",2) ) { 1284 // size = strlen(item->comment); 1285 snprintf(content, MAXSTR, " #%s \n", item->comment); 1286 strncat(mdString, content, MAXSTR); 1287 } else { 1288 snprintf(content, MAXSTR, "\n"); 1289 strncat(mdString, content, MAXSTR); 1290 } 1291 break; 1292 case PS_DATA_F32: 1293 // size = strlen(item->name); 1294 snprintf(content, MAXSTR, "%s F32 ", item->name); 1295 strncat(mdString, content, MAXSTR); 1296 snprintf(content, MAXSTR, "%22.15g ", item->data.F32); 1297 strncat(mdString, content, MAXSTR); 1298 if ( strncmp(item->comment,"",2) ) { 1299 // if ( item->comment != NULL ) { 1300 // size = strlen(item->comment); 1301 snprintf(content, MAXSTR, " #%s \n", item->comment); 1302 strncat(mdString, content, MAXSTR); 1303 } else { 1304 snprintf(content, MAXSTR, "\n"); 1305 strncat(mdString, content, MAXSTR); 1306 } 1307 break; 1308 case PS_DATA_F64: 1309 // size = strlen(item->name); 1310 snprintf(content, MAXSTR, "%s F64 ", item->name); 1311 strncat(mdString, content, MAXSTR); 1312 snprintf(content, MAXSTR, "%22.15g ", item->data.F64); 1313 strncat(mdString, content, MAXSTR); 1314 if ( strncmp(item->comment,"",2) ) { 1315 // if ( item->comment != NULL ) { 1316 // if ( !strncmp((char*)item->comment, "", 2) ) { 1317 // size = strlen(item->comment); 1318 snprintf(content, MAXSTR, " #%s \n", item->comment); 1319 strncat(mdString, content, MAXSTR); 1320 } else { 1321 snprintf(content, MAXSTR, "\n"); 1322 strncat(mdString, content, MAXSTR); 1323 } 1324 break; 1325 case PS_DATA_STRING: 1326 // size = strlen(item->name); 1327 snprintf(content, MAXSTR, "%s STR ", item->name); 1328 strncat(mdString, content, MAXSTR); 1329 // size = strlen(((char *)(item->data.V))); 1330 snprintf(content, MAXSTR, "%s ", ((char *)(item->data.V))); 1331 strncat(mdString, content, MAXSTR); 1332 if ( strncmp(item->comment,"",2) ) { 1333 // if ( item->comment != NULL ) { 1334 // size = strlen(item->comment); 1335 snprintf(content, MAXSTR, " #%s \n", item->comment); 1336 strncat(mdString, content, MAXSTR); 1337 } else { 1338 snprintf(content, MAXSTR, "\n"); 1339 strncat(mdString, content, MAXSTR); 1340 } 1341 break; 1342 case PS_DATA_METADATA: 1343 snprintf(content, MAXSTR, "\n%s METADATA ", item->name); 1344 strncat(mdString, content, MAXSTR); 1345 1346 newStr = psMetadataConfigFormat(item->data.md); 1347 strncpy(buffer, (char *)newStr, MAXSTR); 1348 buffer2 = strtok(buffer, "\n"); 1349 while( buffer2 != NULL ) { 1350 snprintf(content, MAXSTR, "\n %s", buffer2); 1351 strncat(mdString, content, MAXSTR); 1352 buffer2 = strtok(NULL, "\n"); 1353 } 1354 if ( strncmp(item->comment,"",2) ) { 1355 // if ( item->comment != NULL ) { 1356 snprintf(content, MAXSTR, "\nEND #%s\n\n", item->comment); 1357 strncat(mdString, content, MAXSTR); 1358 } else { 1359 snprintf(content, MAXSTR, "\nEND\n\n"); 1360 strncat(mdString, content, MAXSTR); 1302 psStringAppend(&content, "\nEND\n\n"); 1361 1303 } 1362 1304 psFree(newStr); 1363 1305 break; 1364 1306 case PS_DATA_TIME: 1365 snprintf(content, MAXSTR, "%s ", item->name); 1366 if ( ((psTime*)(item->data.V))->type == PS_TIME_UTC ) 1367 strncat(content, "PS_TIME_UTC ", MAXSTR); 1368 else if ( ((psTime*)(item->data.V))->type == PS_TIME_TAI ) 1369 strncat(content, "PS_TIME_TAI ", MAXSTR); 1370 else if ( ((psTime*)(item->data.V))->type == PS_TIME_UT1 ) 1371 strncat(content, "PS_TIME_UT1 ", MAXSTR); 1372 else if ( ((psTime*)(item->data.V))->type == PS_TIME_TT ) 1373 strncat(content, "PS_TIME_TT ", MAXSTR); 1307 psStringAppend(&content, "%s ", item->name); 1308 psTime *time = item->data.V; 1309 if ( time->type == PS_TIME_UTC ) 1310 psStringAppend(&content, "PS_TIME_UTC "); 1311 else if ( time->type == PS_TIME_TAI ) 1312 psStringAppend(&content, "PS_TIME_TAI "); 1313 else if ( time->type == PS_TIME_UT1 ) 1314 psStringAppend(&content, "PS_TIME_UT1 "); 1315 else if ( time->type == PS_TIME_TT ) 1316 psStringAppend(&content, "PS_TIME_TT "); 1374 1317 else { 1375 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 1376 PS_ERRORTEXT_psMetadata_METATYPE_INVALID, type);1318 psError(PS_ERR_BAD_PARAMETER_VALUE, true, PS_ERRORTEXT_psMetadata_METATYPE_INVALID, time->type); 1319 // XXX memory leak: should free content and mdString before returning 1377 1320 psFree(iter); 1378 1321 return NULL; 1379 1322 } 1380 strncat(mdString, content, MAXSTR); 1381 1382 snprintf(content, MAXSTR, "%ld, ", (long)((psTime*)(item->data.V))->sec); 1383 strncat(mdString, content, MAXSTR); 1384 snprintf(content, MAXSTR, "%u, ", ((psTime*)(item->data.V))->nsec); 1385 strncat(mdString, content, MAXSTR); 1386 if ( ((psTime*)(item->data.V))->leapsecond ) 1387 strncat(mdString, "T ", MAXSTR); 1323 1324 psStringAppend(&content, "%ld, ", (long)time->sec); 1325 psStringAppend(&content, "%u, ", time->nsec); 1326 if ( time->leapsecond ) 1327 psStringAppend(&content, "T "); 1388 1328 else 1389 strncat(mdString, "F ", MAXSTR);1329 psStringAppend(&content, "F "); 1390 1330 if ( strncmp(item->comment,"",2) ) { 1391 // if ( item->comment != NULL ) { 1392 snprintf(content, MAXSTR, " #%s \n", item->comment); 1393 strncat(mdString, content, MAXSTR); 1394 } else { 1395 snprintf(content, MAXSTR, "\n"); 1396 strncat(mdString, content, MAXSTR); 1397 } 1331 psStringAppend(&content, " #%s", item->comment); 1332 } 1333 psStringAppend(&content, " \n"); 1398 1334 break; 1399 1335 case PS_DATA_VECTOR: 1400 // size = strlen(item->name); 1401 snprintf(content, MAXSTR, "@%s ", item->name); 1402 strncat(mdString, content, MAXSTR); 1403 type = ((psVector*)(item->data.V))->type.type; 1404 switch (type) { 1336 psStringAppend(&content, "@%s ", item->name); 1337 psVector *vector = item->data.V; 1338 1339 switch (vector->type.type) { 1405 1340 case PS_DATA_S32: 1406 strncat(mdString, "S32 ", MAXSTR); 1407 for (i = 0; ((psVector*)(item->data.V))->data.S32[i] != 0; i++) { 1408 snprintf(content, MAXSTR, "%d", 1409 ((psVector*)(item->data.V))->data.S32[i]); 1410 if ( ((psVector*)(item->data.V))->data.S32[i+1] != 0 ) { 1411 strncat(content, ", ", MAXSTR); 1412 } 1413 strncat(mdString, content, MAXSTR); 1341 psStringAppend(&content, "S32 "); 1342 for (int i = 0; i < vector->n; i++) { 1343 psStringAppend(&content, "%d ", vector->data.S32[i]); 1414 1344 } 1415 1345 break; 1416 1346 case PS_DATA_F32: 1417 strncat(mdString, "F32 ", MAXSTR); 1418 for (i = 0; ((psVector*)(item->data.V))->data.F32[i] != 0; i++) { 1419 snprintf(content, MAXSTR, "%f", 1420 ((psVector*)(item->data.V))->data.F32[i]); 1421 if ( ((psVector*)(item->data.V))->data.F32[i+1] != 0 ) { 1422 strncat(content, ", ", MAXSTR); 1423 } 1424 strncat(mdString, content, MAXSTR); 1347 psStringAppend(&content, "F32 ", MAXSTR); 1348 for (int i = 0; i < vector->n; i++) { 1349 psStringAppend(&content, "%f ", vector->data.F32[i]); 1425 1350 } 1426 1351 break; 1427 1352 case PS_DATA_F64: 1428 strncat(mdString, "F64 ", MAXSTR); 1429 for (i = 0; ((psVector*)(item->data.V))->data.F64[i] != 0; i++) { 1430 snprintf(content, MAXSTR, "%lf", 1431 ((psVector*)(item->data.V))->data.F64[i]); 1432 if ( ((psVector*)(item->data.V))->data.F64[i+1] != 0 ) { 1433 strncat(content, ", ", MAXSTR); 1434 } 1435 strncat(mdString, content, MAXSTR); 1353 psStringAppend(&content, "F64 ", MAXSTR); 1354 for (int i = 0; i < vector->n; i++) { 1355 psStringAppend(&content, "%lf", vector->data.F64[i]); 1436 1356 } 1437 1357 break; … … 1439 1359 default: 1440 1360 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 1441 PS_ERRORTEXT_psMetadata_METATYPE_INVALID, type);1361 PS_ERRORTEXT_psMetadata_METATYPE_INVALID, vector->type.type); 1442 1362 psFree(iter); 1363 // XXX memory leak: should free content and mdString before returning 1443 1364 return NULL; 1444 1365 } 1445 1366 if ( strncmp(item->comment,"",2) ) { 1446 // if ( item->comment != NULL ) { 1447 // size = strlen(item->comment); 1448 snprintf(content, MAXSTR, " #%s \n", item->comment); 1449 strncat(mdString, content, MAXSTR); 1450 } else { 1451 snprintf(content, MAXSTR, "\n"); 1452 strncat(mdString, content, MAXSTR); 1453 } 1367 psStringAppend(&content, " #%s", item->comment); 1368 } 1369 psStringAppend(&content, " \n"); 1454 1370 break; 1455 1371 case PS_DATA_UNKNOWN: 1456 1372 default: 1457 1373 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 1458 PS_ERRORTEXT_psMetadata_METATYPE_INVALID, type);1374 PS_ERRORTEXT_psMetadata_METATYPE_INVALID, item->type); 1459 1375 psFree(iter); 1376 // XXX memory leak: should free content and mdString before returning 1460 1377 return NULL; 1461 1378 } 1462 } 1463 newString = psStringNCopy(mdString, 16000); 1379 psStringAppend(&mdString, content); 1380 psFree(content); 1381 content = NULL; 1382 } 1464 1383 psFree(iter); 1465 return newString;1384 return mdString; 1466 1385 } 1467 1386
Note:
See TracChangeset
for help on using the changeset viewer.
