Institut für Astronomie und AstrophysikAbteilung AstronomieSand 1, D-72076 Tübingen, Germany |
COMPARE_STRUCT
Compare all matching tag names and return differences
Compare all matching Tags names (except for "except_Tags") between two structure arrays (may have different struct.definitions), and return a structured List of fields found different.
diff_List = compare_struct( struct_A, struct_B [ EXCEPT=, /BRIEF, /FULL, /NaN, /RECUR_A, /RECUR_B )
struct_A, struct_B : the two structure arrays to compare. Struct_Name : for internal recursion use only.
EXCEPT = string array of Tag names to ignore (NOT to compare). /BRIEF = number of differences found for each matching field of two structures is printed. /FULL = option to print even if zero differences found. /NaN = if set, then tag values are considered equal if they are both set to NaN /RECUR_A = option to search for Tag names in sub-structures of struct_A, and then call compare_struct recursively for those nested sub-structures. /RECUR_B = search for sub-structures of struct_B, and then call compare_struct recursively for those nested sub-structures.
compare_struct is automatically called recursively for those nested sub-structures in both struct_A and struct_B (otherwise cannot take difference)
Returns a structure array describing differences found, which can be examined using print,diff_List or help,/st,diff_List.
Match Tag names and then use where function on tags.
Find the tags in the !X system variable which are changed after a simple plot. IDL> x = !X ;Save original values IDL> plot, indgen(25) ;Make a simple plot IDL> help,/str,compare_struct(x,!X) ;See how structure has changed and one will see that the tags !X.crange and !X.S are changed by the plot.
written 1990 Frank Varosi STX @ NASA/GSFC (using copy_struct) modif Aug.90 by F.V. to check and compare same # of elements only. Converted to IDL V5.0 W. Landsman September 1997 Added /NaN keyword W. Landsman March 2004
[Home Page] [Software, Documentation] [IDL Documentation] [Quick Reference] [Feedback]