Change log for selectlib ======================== Open SOC-SPRs/SCRs: *none* Version 4.72.1 - 2014-09-04 (EO) -------------- + src/selcore/SelectParser.cc: Definition of FILE as typedef struct _IO_FILE _FILE in /usr/include/stdio.h conflicts with the usage of it in SelectParser.cc and SelectParser.y when Optimization is used (any) to build the release track. The fix consisted in adding and extra #include in SelectParser.cc. Version 4.72 - 2014-04-16 (AI) ------------ + Restored previous versions of (SelecParser.h.cc and SelectLexer.cc) files to avoid running bison 2.3. + past_ly test updated. Version 4.71 - 2014-04-15 (AI) ------------ + gcc.4.8.2 portability changes. Version 4.70 - 2010-02-25 (AI) ------------ + (Gti::ETERNITY) Undefined symbol in MacOSX. Initialization of the static const ETERNITY outside the class definition. Fixes SOC-SPR-6595) Version 4.69.1 - 2009-06-23 (AI) ------------ + Modifications in several files to make code gcc 4.3 complaint. + Region.cc preprocessor switch added to make gcc 3.3 happy. Version 4.69 - 2006-07-13 (EO) ------------ + No changes to code in 4.68.1, only a change of version number. Version 4.68.1 - 2006-07-07 (AI) ------------ + (ASCregion.cc) Bug related to memory allocation fixed (only showed up under MacOSX) Version 4.68 - 2003-06-26 (GV) ------------ + (Region.h) Put a namespace around the code in an attempt to solve the cause of SOC-SPR-2444. Version 4.67 - 2003-06-13 (GV) ------------ + Add a few include to make gcc-3.3 happy. Version 4.66 - 2003-05-30 (GV) ------------ + (test/Makefile) add slatec to USEDLIBS. Version 4.65 - 2003-05-21 (UL) ------------ + added ShapeBasics::toColor()/toString() + closed SPR 2441: Test harness failure on Mac OS X Version 4.64 - 2003-05-16 (UL) ------------ + bug fix which caused crash with selection expression referring to non-existing string columns in a table (e.g. (H5455 == ON) instead of (H5455 == "ON") in OM_HKPARMINT_0003.CCF Version 4.63 - 2003-03-19 (UL) ------------ + added new inquiry method DataFilter::expression() Version 4.62 - 2003-02-27 (UL) ------------ + fixed minor bug in memory management + fixed bug in expansion of attributes in selection expression (only showed up under MacOSX) + added missing caloalutils to USEDLIBS in test/Makefile + work-around for gcc-3.1 include file bug under MacOSX (search for 'MacOSX' in src/selcore/NumericFunctors.cc for details) Version 4.61 - 2002-02-17 (JBa) ------------ + (./cxx/*) prefixed with std:: Version 4.60.1 - 2002-11-26 (UL) -------------- + minor transparent change in Region.h to support more user-friendly selection of background regions in ds9 Version 4.60 - 2002-08-26 (UL) ------------ + fixed problem with combi-lib building (caused linking failure under Tru64) Version 4.59 - 2002-07-31 (UL) ------------ + added selectReleaseMemory() to src/service/datafilter.f90 Version 4.58 - 2002-07-29 (UL) ------------ + fixed problem with broken rgsregions due to 4.55 change in Region.h Version 4.57 - 2002-07-22 (JBa) ------------ + (src/utils/TriangulatablePolygon.cc) making sure we pick up local INFINITY definition (GNU stdc++ library defines INFINITY in cmath) Version 4.56 - 2002-07-19 (UL) ------------ + various trivial C++ standard compliance fixes (code is gcc-3.1-clean now) Version 4.55 - 2002-07-10 (UL) ------------ + transparent modifications to GeoRegion class + implemented funtools/CIAO compliant region combination policy (Venn diagram can now be generated with within one operation) + added new test harness Version 4.54 - 2002-07-09 (UL) ------------ + added f90 I/F to ExprColumnGenerator class (construction of table column driven by arithmetic expressions) Version 4.53 - 2002-06-28 (UL) ------------ + changed all occurences of 'strstream' to standard-conformant 'stringstream' Version 4.52 - 2002-06-10 (UL) ------------ + minor addition to OGIPgti class Version 4.51 - 2002-06-03 (UL) ------------ + added support for time and angle parameters Version 4.50 - 2002-05-29 (UL) ------------ + Trigonometric functions and their inverse now use radians Version 4.49 - 2002-05-29 (UL) ------------ + Allow single-quoted text literals (to faciliate string parameter validation in param>=2.0) + more robust identification of string identifier in textual contexts Version 4.48 - 2002-05-27 (UL) ------------ + added support for vector algebra Version 4.47 - 2002-04-22 (UL) ------------ + treat identifiers in textual contexts properly Version 4.46.5 - 2002-04-08 (UL) -------------- + allow timing attributes in GTI merging to be of mixed types real/int or int/real for equality check Version 4.46.4 - 2002-03-18 (UL) -------------- + fixed minor problem related to utils-1.84 update Version 4.46.3 - 2002-01-31 (UL) -------------- + fixed problem inadvertently introduced in 4.46.1: timing related keywords in GTI tables were not treated as optional Version 4.46.2 - 2002-01-30 (UL) -------------- + closed SPR 2264: yacc problem [was bug in selcore/past_ly] Version 4.46.1 - 2002-01-29 (UL) -------------- + added EllipticalAnnulus::toSelectExpression() (override base class method) + implemented SCR 58: propagate timing related keywords in GTI merging (closes SPR 2204) + relaxed too stringest base test with sector-filter (failed under Linux) Version 4.46 - 2001-12-07 (UL) ------------ + redelivery of 4.45 for start of 5.3 RT Version 4.45 - 2001-09-26 (UL) ------------ + implemented SCR 78: Addition of keyword to tabgtigen output Version 4.44.3 - 2001-09-25 (UL) -------------- + couple of trivial changes in utils/TrinagulatablePolygon.cc to make optimizer happy Version 4.44.2 - 2001-09-12 (UL) -------------- + fixed problem in documentation introduced with 4.42 + fixed problem in method of new TrinagulatablePolygon that caused problem reported in SPR 2153 on the CAL (see src/utils/TriangulatablePolygon.cc for details) Version 4.44.1 - 2001-08-17 (UL) -------------- + corrected modification dates of files in src/selcore (.l/.y are newer than .cc counterparts in src/selcore in 4.44) Version 4.44 - 2001-08-15 (UL) ------------ + added new region filter 'polygon2' with a defined positive result for test points exactly on a polygon segment + test harness extended to cover new polygon2 filter + fixed another compilation problem under Tru64 Version 4.43 - 2001-08-13 (UL) ------------ + fixed compilation problem in TriangulatablePolygon.cc under Tru64 Version 4.42.1 - 2001-08-11 (UL) -------------- + moved SelecteError from selcore to utils Version 4.42 - 2001-08-10 (UL) ------------ + case of SHAPE value in input CXC region tables is now indifferent (used to require names in uppercase) + implemented fast O(log N) polygon filter; typical speed up for number of points ~200 is factor 5-10 + inclusion status of point on polygon boundaries remains uncertain; now explained in doc; see also rejected SPR 2010 + consistent use of namespace std Version 4.41 - 2001-07-05 (UL) ------------ + renamed local utility class WCS to SelectWCS to resolve name conflict with caloalutils Version 4.40.2 - 2001-05-15 (UL) -------------- + fixed minor problem with timestamps of lex/yacc files Version 4.40.1 - 2001-05-14 (UL) -------------- + fixed bug in real-number pattern: caused 'E123' to be seen as valid floating point constant Version 4.40 - 2001-04-02 (UL) ------------ + changed obsolete old-style include statements Version 4.39.9 - 2001-07-02 (UL) -------------- + fixed compilation problem in one of the tests Version 4.39.8 - 2001-05-02 (UL) -------------- + added Shape::contains(): point-in-shape test Version 4.39.7 - 2000-11-13 (UL) -------------- + support for 'annulus' region (needed to in fix of SPR 1832) Version 4.39.6 - 2000-11-11 (UL) -------------- + a couple of trivial changes to eliminate warnings from optimizer Version 4.39.5 - 2000-10-30 (UL) -------------- + ExprColumnConstructor did not understand attribute references in expression Version 4.39.4 - 2000-10-27 (UL) -------------- + added config/selectlib.info Version 4.39.3 - 2000-10-25 (UL) -------------- + bug fix: now release column data objects in ExprColumnGenerator Version 4.39.2 - 2000-10-25 (UL) -------------- + better warning message when trying to filter with empty GTI table + fixed compilation problem introduced with 4.39.1 Version 4.39.1 - 2000-10-24 (UL) -------------- + small change in region->expression conversion (selectutils) that allows to fix SPR 1708: Seg fault when importing an invalid 1-d region fromgrace Version 4.39 - 2000-09-27 (UL) ------------ + minor updated to documentation (usage of \sascite) + small speed improvement in polygon filter Version 4.38 - 2000-09-20 (UL) ------------ + constants in bases 2/8/16 have now to be prefixed by lowercase letters 'b'/'o'/'h' in order to be recognized + bug fix related to usage of table attributes in selection expression Version 4.37 - 2000-09-04 (UL) ------------ + fixed typo in operator declarations in Gti.h Version 4.36 - 2000-07-26 (UL) ------------ + fixed lowmem problem in one of the tests + syntax change: octal numbers start now with 'o' instead of '0'; hex numbers can start with either '0x' or 'h' Version 4.35.3 - 2000-07-07 (UL) -------------- + fixed SPR 1663: syntax errors (was due to bug in expression parser which was left in an undefined state after an error condition) Version 4.35.2 - 2000-07-06 (UL) -------------- + bug fix in mask filter (was introduced in 4.35) Version 4.35.1 - 2000-07-05 (UL) -------------- + minor modification in one of the test harnesses Version 4.35 - 2000-07-04 ------------ + identical to 4.34.6 - minor version number bumped for making cal dependent on new selectlib Version 4.34.6 - 2000-07-03 (UL) -------------- + fixed SCR 962: string columns + fixed SCR 958: support for nulls + documentation updated (new sections about string selection capabilities + null support + typos corrected) + now depends on utils-1.67 (fixed NAN mask for single precision reals) Version 4.34.5 - 2000-06-23 (UL) -------------- + terminal vertex in Polygons is now explictely removed/added when reading/writing ASC region files; internally all polygons are treated as open Version 4.34.4 - 2000-06-22 (UL) -------------- + fixed SPR 1600: missing ASCRegion POLYGON terminator Version 4.34.3 - 2000-06-19 (UL) -------------- + more reliable solution for SPR 1536: give .l/.y modication time of 01010000 to avoid unnecessary generation of associated .cc + bug fix in writing of OGIP GTI tables: caused overwriting of existing tables to fail if the new table is smaller tan the old one (fixes SPR 1578: tabgtigen creates wrong GTIs) Version 4.34.2 - 2000-06-16 (UL) -------------- + fixed SPR 1404: parser requires decimal pt when specifying floating pt numbers + fixed SPR 1556: DOC::broken links Version 4.34.1 - 2000-05-31 (UL) -------------- + fixed SPR 1365: selectlib uses yacc (src/selectcore/SelectParser.cc must have a time stamp later than SelectParser.y to suppress invocation of bison; same is true for SelectLexer.{cc|l}) Version 4.34 - 2000-05-29 (UL) ------------ + bug fixed in parser which caused mask(m.ds, xOff, yOff, xCol, yCol) and (xCol, yCol) in mask(m.ds, xOff, yOff) to behave differently Version 4.33 - 2000-05-25 (UL) ------------ + GTI data sets are now OGIP compliant (this fixes SPR 1346 : gtimerge is not functional with evselect) + OutOGIPgtiTable can now also be constructed from existing table + bug fix in GTI table or-ing Version 4.32 - 2000-05-22 (UL) ------------ + bug fix in OGIPgti classes which caused crash in lowmem mode Version 4.31 - 2000-05-19 (UL) ------------ + brought in line with dal-1.119 (added missing CREATOR/DATE attributes to data sets in test directory) Version 4.30 - 2000-05-09 (UL) ------------ + fixed SPR 1246: Wrong usage of MACROs in LaTeX documentation + minor fix in Region::toSelectExpression() (selectutils) Version 4.29 - 2000-02-23 (UL) ------------ + point filter rounds coordinates to nearest integer prior to comparison Version 4.28 - 2000-02-21 (UL) ------------ + changed internal convention for row flagging: selected rows are now marked by _setting_ the selection bit (was: clearing the bit, despite the comments in src/selectservice/DataFilter.cc which is _now_ correct) Version 4.27 - 2000-02-17 (UL) ------------ + transparent internal changes in selectcore which make it possible to have several instances of Evaluator object; this is needed as of cal-3.49 Version 4.26 - 2000-02-03 (UL) ------------ + fixed SPR 1011: selectlib and low memory mode + fixed SPR 1101: Behaviour with empty GTI tables + fixed SPR 1114: selectlib: errortest gives SEGV in isValidExpression Version 4.25 - 2000-01-23 (UL) ------------ + fixed SPR 1011 : selectlib and low memory mode (failed because attempted to modify read-only objects) Version 4.24 - 2000-01-04 (UL) - the Millenium selectlib! ------------ + fixed SPR 1060: Fails on LInux (gcc-2.95.1) Version 4.23 - 1999-12-17 (UL) ------------ + modification to GTI filter: issue a warning message if a GTI with start>stop is seen + renamed 'Region' in selectutils to 'GeoRegion' to resolve name clash with type in Qt header file Version 4.22.1 - 1999-12-16 (UL) -------------- + removed dependency on imgdisplay/dsplot Version 4.22 - 1999-12-15 (UL) ------------ + closed several minor memory leaks + new functionality in selectutils to deal with Region objects Version 4.21 - 1999-11-17 (UL) ------------ + internal changes (wrapped lexer/parser into separate namespace to resolve name clash conflict with lexer/parser in dsslib) Version 4.20.2 - 1999-11-03 (UL) -------------- + added support for new unsigned types available in dal>=1.80 Version 4.20.1 - 1999-10-29 (UL) -------------- + brought test harness 'selectutiltest' in line with 4.20 Version 4.20 - 1999-10-27 (UL) ------------ + made it dependent on dsplot-1.0 Version 4.19 - 1999-10-25 (UL) ------------ + src/selectutils/ExprTranslator: added translation from 2D-Dsplot regions to selectlib expression and other miscellaneous fixes Version 4.18 - 1999-10-21 (UL) ------------ + bug fix in new GtiList::operator&= Version 4.17 - 1999-10-20 (UL) ------------ + src/selectutils/Gti.h: added GtiList::operator|=/operator&= Version 4.16 - 1999-10-12 (UL) ------------ + fixed SPR 874: Evaluator should not raise a 'fatal' error on an invalid expression + make use of INTERFACE/combilib mechanism + error handling overhauled (has now optional exception handling) + added Evaluator::isValidExpression() Version 4.15 - 1999-10-08 (UL) ------------ + fixed SPR 879 : ROW is not recognized any more ? Version 4.14 - 1999-09-21 (UL) ------------ + conversion of ds9/tng region specification takes in addition to binning factors also image shifts into account Version 4.13 - 1999-09-21 (UL) ------------ + bug fix in test harness (selectutilstest) Version 4.12 - 1999-09-20 (UL) ------------ + classes in src/selectutis/ExprTranslator.h can now convert imgdisplay/dsplot region specifications into selectlib expression; the former takes x/y binning factors into account Version 4.11 - 1999-09-13 (UL) ------------ + internal change in src/selectservice after closure of DAL SPR 589 : incorrect treatment of FITS B-type + added DISTRIBUTION file Version 4.10 - 1999-08-18 (UL) ------------ + bug fix in modf function (was not accepting single argument) Version 4.9 - 1999-08-17 (UL) ----------- + added one test to test/selectutiltest Version 4.8 - 1999-08-16 (UL) ----------- + added more arithmetic functions: sinh, cosh, tanh, pow, ceil, floor, int, fmod, modf Version 4.7 - 1999-08-05 (UL) ----------- + fixed SPR 723 : ExprColumnGenerator does not catch invalid column name usage of non-existent column names in expression passed to ExprColumnGenerator constructor leads now to a proper error message Version 4.6 - 1999-06-28 (UL) ----------- + two versions of region filter are now supported + region() + region(, Xcolumn, Ycolumn) in the former case, the name of the X/Y column are taken from the contents of the MFORM attribute in the specified region file Version 4.5 - 1999-06-03 (UL) ----------- + bug fix in ServiceUtils::attributeFreeExression (reference to non-existing attributes did not lead to an error) Version 4.4 - 1999-05-12 (UL) ----------- + added new methods to ServiceUtils class to expand symbolic references to table attributes by their values in selection expressions Version 4.3 - 1999-05-11 (UL) ----------- + brought in line with error-1.18 Version 4.2 - 1999-05-07 (UL) ----------- + src/selectutils/SetTabCol.h: added access mode to constructor Version 4.1 - 1999-04-27 (UL) ----------- + closed SPR 551: Filename.[h|cc] + internal Changes in src/selectservice (ColumnGenerator is now abstract base class) + minor bug fix in src/selectutils/SetTabCol.cc Version 4.0 - 1999-04-16 (UL) ----------- + name of classes 'Filter' and 'Node' changed to 'DataFilter' and 'OpNode' to resolve name clash with symbols in the Cal; this is likely to break all selectlib clients, hence, the major version number increment Version 3.25 - 1999-04-15 (UL) ------------ + new utility classes in selectutils for disentangeling of specifiers in the form set:block:column + updates to test harnesses enforced by error-1.16 + all dataset-based filters accept the form set:block as valid block specifiers Version 3.24 - 1999-03-05 (UL) ------------ + more more changes to make it work with lowmem Dal Version 3.23 - 1999-03-03 (UL) ------------ + several changes to make it work with the lowmem Dal; core remains unchanged Version 3.22 - 1999-02-17 (UL) ------------ + bug fix in new ExtrTranslator class: generated expression was invalid ;) Version 3.21 - 1999-02-17 (UL) ------------ + src/selectutils: added utility class which provides static methods to transform region specifications from imgdisplay/dsplot into selectlib expressions; selectlib now dependent on these two packages Version 3.20 - 1999-01-29 (UL) ------------ + minor fixes to make compilation under egcs 1.1.1 go smoothly Version 3.19 - 1999-01-27 (UL) ------------ + minor fixes to make compilation under gcc 2.8.1 go smoothly Version 3.18 - 1999-01-20 (UL) ------------ + bug fix in MaskFilter::passFilter (responsible for SSC-SPR 872: Y-flipping of mask images) Version 3.17 - 1999-01-19 (UL) ------------ + bug fix in src/selectcore/SelFileFunc.cc@MaskFilter::MaskFilter (mask images in primary arrays) which gave rise to SSC-SPR 872 Version 3.16 - 1998-11-16 (UL) ------------ + fixed SPR 345: Lots of hardcoded rules ala Make.include additonal rules nedded in src/selectcore (.l->.cc, .y->.cc) have been moved to Make.include Version 3.15 - 1998-11-13 (UL) ------------ + new build procedure in-line with what is done in the Dal: separate libaries are build in each src-subdir which get combined in a new directory 'interface'; this also contains now all needed symbolic links to *.h/*.f90/*.mod Version 3.14 - 1998-11-12 (UL) ------------ + fixed SPR 274: Need symbolic link Version 3.13 - 1998-11-02 (UL) ------------ + in ColumnGenerator: handle case that newly to be generated column exists already; we do now: o generate the new column with temporary name o delete original column o rename the new column Version 3.12 - 1998-10-15 (UL) ------------ + fixed non-working example of table filtering expression in documentation + fixed bug in Polygon filter (caused crash on Dec Alpha) + changed implementation of bit complement operator to make it work on 64 bit architectures (Dec Alpha) + make package dependent on sas-1.35 in which `configure' now defines the 'proper' order of math libraries when using NAGace (the pow() function in the NAGace libray -lma claims '2**3 == 7.999999' which breaks a selectlib test) Version 3.11 - 1998-10-07 (UL) ------------ + WCS support in mask filter (documentation updated accordingly) + explicit operator<< in Filename class Version 3.10 - 1998-10-05 (MB) ------------ + upgraded F90 message calls in test harness Version 3.9 - 1998-10-02 (UL) ----------- + fixed SPR 395 : Bug: Evaluator uses long for bit operations (not portable 64<->32) + fixed SPR 428 : Selectlib should depend on cal Version 3.8 - 1998-09-10 (MB) ----------- + fixed concurrecny problem in Makefiles that caused missing .o's in library Version 3.7 - 1998-08-27 (UL) ----------- + bug fix in implementation of Filter class (caused crash in FLAG column clearing when filtered table was empty - very rare though) Version 3.6 - 1998-07-31 (UL) ----------- + bug fix in src/selectutils/Region.h affecting the RotRhombus filter Version 3.5 - 1998-07-29 (UL) ----------- + maximum number of vertices in a polygon is no longer limited (was 30) Version 3.4 - 1998-07-28 (UL) ----------- + bug fixes in src/selectservice/Filter.cc, src/selectcore/SelOpFuncs.cc Version 3.3 - 1998-07-20 (UL) ----------- + depends now on utils 1.8 + works with sas-1.16 (required changes to Makefiles in src/selectservice, src/selectutils) Version 3.2 - 1998-07-07 (UL) ----------- + fixed portability problem in src/selectutils/Region.cc (SOC-SPR 356) + got rid of doc/selectlib.tex - this is now generated on the fly by 'make ps/html' - this fixes SOC-SPR 368 Version 3.1 - 1998-07-06 (UL) ----------- + get rid of several usepackage directives in doc/selectlib.tex Version 3.0 - 1998-06-26 (UL) ----------- + overhauled code + documentation (now in-line with SAS doc. standard) + new user features: o 'selected' function (convenient for step-wise filtering) o 'in' operator (in preparation of DSS support) o references to extensions can now be made by name + fixed SOC-SPRs 341, 342, 344 (all about documentation), and 343 (do not modify CXXFLAGS) Version 2.3 - 1998-05-28 (UL) ----------- + added ArrayEvaluator class in to select services + corresponding f90 wrapper + updated test harness Version 2.2 - 1998-05-27 (UL) ----------- + fixed SOC-SPR 221 + fixed minor problem in Makefile Version 2.1 - 1998-05-26 (UL) ----------- + fixed SOC-SPRs 219, 220, 222 Version 2.0 - 1998-05-19 (UL) ----------- + general code overhaul + library reorganization: the formerly three separate libraries filter/selectutils/selecto have been merged into one: libfilter.a+libutils.a+libselector.a -> libselector.a tasks need from now on only link to the latter, i.e, in the Makefile USEDLIBS = selector + speed has been improved by another factor 4 + new functionality to construct table columns from arithmetic expressions involving operators/functions and other column names (see src/selectservices/ColumnGenerator.h) + mask images need no longer be of type int16 but can be in int8 or int32 as well Version 1.1 - 1998-04-29 (UL) ----------- + initial version for SAS v1 integration