https://github.com/kwwette/swiglal

sort by:
Revision Author Date Message Commit Date
8f6d75b Fix license files so GitHub recognises dual license 04 October 2020, 05:16:11 UTC
f5b90ce COPYING.MIT: fix whitespaces, reformat to 80-character lines 04 October 2020, 05:14:23 UTC
8761032 Dual license this repository under the GPLv2 and MIT (Expat) licenses 04 October 2020, 04:14:45 UTC
73da476 Add documentation and support sections 25 February 2020, 03:41:20 UTC
be5718e Add README for SWIGLAL repository 17 February 2020, 05:49:21 UTC
2d3c1d0 refactore generate_swig_iface.py to make it more modular, and improve self-documentation. This also moves the script into a top-level `/swig/` path, rather than being housed in the `/lal/swig/` directory 23 November 2019, 10:46:29 UTC
60cef88 SWIGLALOmega::tagLIGOTimeGPS(const char *str): check for str != NULL 15 November 2019, 04:49:42 UTC
75afc60 lal/src/date/Date.h: remove #include of LALStdLib - this *really* completes (for real, this time) the removal of the LALStatus structure from the date package - as is the habit, a number of other codes were relying on Date.h to provide the #include of LALStdlib, so a variety of things here and there need their #include's adjusted. - the changes are confined to lal itself. 09 August 2019, 04:06:21 UTC
1a937b3 SWIG: declare all size_t dims/strides arrays with a explicit length - Declaring with length implicit from initialiser list may not be recognised by older compilers 18 January 2019, 15:46:46 UTC
4f01ad9 SWIG: correctly implement and test transparent views/copies of LALStringVector 08 October 2018, 15:34:45 UTC
9d7d0bd SWIG: add missing 'const' to 'strides' 08 October 2018, 15:29:40 UTC
2971365 SWIG: no need to use $argnum for variables in 'typecheck' typemaps 08 October 2018, 15:29:40 UTC
1259f3e SWIG: %swiglal_array_viewin...() must return dimensions of array for %swiglal_array_copyin...() 08 October 2018, 15:29:40 UTC
0a613cc SWIG: allocate memory for array struct copy-in using %swiglal_new_array() 08 October 2018, 10:23:41 UTC
d6f5c17 SWIG: should not need to Py_CLEAR(nparr) if PyArray_Converter() fails 08 October 2018, 10:23:41 UTC
ad01ded SWIGTestLALPython.py: remove 'print(pickled)' statements to reduce output volume 08 October 2018, 10:23:42 UTC
264d0fe SWIGTestLALPython.py: run through 2to3 08 October 2018, 10:23:41 UTC
7163fe1 Make some common LAL types picklable 30 August 2018, 16:51:50 UTC
eb89bbe SWIGCommon: add SWIGLAL(OWNS_THIS_STRING(...)) macro 31 August 2017, 08:23:08 UTC
93f2e22 SWIGCommon: define INT8_C() and UINT8_C() in order to parse integer constants 12 September 2017, 09:44:50 UTC
d38571c SWIGCommon: add macro OUTPUT_OWNED_BY_1ST_ARG(...) for output-only arguments 12 September 2017, 09:04:25 UTC
c96b097 SWIGCommon: rename macro OWNED_BY_1ST_ARG(...) to RETURN_OWNED_BY_1ST_ARG(...) 12 September 2017, 09:04:25 UTC
19f9bd4 SWIGCommon.i: get const-casting right for const struct member assignment 04 September 2017, 14:04:28 UTC
cbe25f3 SWIGPython.i: fix warnings when compiling against Python >= 3.0.0 - Ref #5735 03 September 2017, 16:44:58 UTC
f136dec lalsuite_swig.m4: require SWIG >= 3.0.9 if Python >= 3.0.0 - Revert changes to SWIGTestLALPython.py from commit bd0474c650edcd6b7d6ff5c974a95a41edea95f4 - Ref #5735 03 September 2017, 16:44:36 UTC
fd3d4a6 SWIG: resolve nested typedefs when handling destructor functions - This handles e.g. in LALPulsar XLALDestroySFTVector() destroying an SFTVector which is a typedef to COMPLEX8FrequencySeriesVector - In case of duplicate destructors, e.g. XLALDestroyREAL4Vector() and XLALDestroyREAL4Sequence() which both destroy a REAL4Vector, prefer the destructor containing the struct name 26 July 2017, 05:53:24 UTC
766c8ac SWIGOctave: octave_base_value::print() became non-const in version 4.0.0 19 May 2017, 20:38:42 UTC
5d90096 SWIG: separate macro for array structs - Array structs being a struct which consists of just an array, as opposed to an struct which contains an array as well as other parameters - Use ARRAY_STRUCT_{1,2}D() macros in LALDatatypes.h for LAL array-like data structures; use ARRAY_{1,2}D() macros everywhere else 14 March 2017, 18:30:23 UTC
9bda82a SWIG: support use of ccache-swig - Test whether SWIG works with CCACHE_CPP2=1, especially whether it can generate dependencies; otherwise disable with CCACHE_DISABLE=1 - Remove uses of #pragma SWIG, which SWIG manual (CCache.html) claims is a potential issue when using ccache-swig 30 January 2017, 12:57:37 UTC
1c2a292 SWIGCommon.i: add some static casts to silence compiler warnings 29 January 2017, 08:02:37 UTC
48f8800 SWIG: bump minimum required version to 2.0.12 - This version introduced the SWIG_OCTAVE_PREREQ() macro - Can now simplify Octave version checks in SWIGOctave.i 26 January 2017, 03:53:49 UTC
a86c971 SWIG: add support for Octave 4.2 - Octave 4.2 requires SWIG 3.0.12 (not yet released) - Prefer command-line octave-cli to (potentially GUI) octave - Check output of `mkoctfile -p CXX` for any flags, e.g. -std=c++11 - Use Octave CXXFLAGS when checking headers, in case -std=* is present - Random.h: _RANDOM_H conflicts with /usr/include/c++/5/bits/random.h (!) - SWIGOctave.h: - toplev.h is already included by SWIG (and deprecated in Octave 4.2) - datevec.length() is deprecated, use datevec.numel() instead - Add as_double() and as_single() methods to array views 23 January 2017, 06:49:26 UTC
d522f31 Move lal version check after lal import 19 January 2017, 17:35:11 UTC
6ef8780 SWIGTestLALPython.py: replace 'isinstance(x, t)' with more strict 'type(x) is t' 05 December 2016, 08:21:51 UTC
421a910 swig LIGOTimeGPS: replace __repr__() override - with implementation that satisfies eval(repr(x)) == x - https://docs.python.org/2/reference/datamodel.html#object.__repr__ - https://docs.python.org/2/library/functions.html#repr - refs #4908 01 December 2016, 04:34:29 UTC
ed88032 XLALGPSToStr(): strip trailing 0s and decimal point - has the potential to significantly reduce the size of log files and other ascii dumps of things - this also makes lal's swig-wrapped LIGOTimeGPS's __str__() compatible with the __str__() in glue's and pylal's versions - but mostly this is motivated by the discovery that porting the CacheEntry class from glue's LIGOTimeGPS to lal's has made cache file output wonky (the time and duration columns now have decimal points and lots of 0s in them) - why fix it this way instead of patching CacheEntry is given by the reasons above. - refs #4903 01 December 2016, 04:34:29 UTC
f6ea208 Revert "SWIG: call XLAL...VCSInfoCheck() version mismatch checking functions from module load" This reverts commit 0e77c74ee51d639f4f22e980192aeba4c0427cf6. 30 October 2016, 20:14:26 UTC
bcb585b SWIG: allow passing of NULL string pointers - Using [] (Octave) or None (Python), as for double pointers 30 October 2016, 12:48:27 UTC
86ef45d SWIG: test typemaps for strings and double pointers 30 October 2016, 12:48:27 UTC
98efa86 SWIGOctave.i: minor comment edit 30 October 2016, 12:48:27 UTC
9d3074f SWIG: move scripting-language-specific struct extensions into scripting-language-specific headers 05 October 2016, 09:51:34 UTC
b0b428b SWIG: error on unrecognised scripting language 05 October 2016, 09:51:34 UTC
5180dfd SWIG: minor documentation edits 05 October 2016, 09:51:34 UTC
0047ee4 lal/swig/SWIGTestLALPython.py: simplified SWIG version check 20 September 2016, 14:23:57 UTC
0baa76d Add unit test workaround for https://github.com/swig/swig/pull/617 There was a bug in swig that broke type coercion for overloaded division operators in Python 3. The bug was fixed in swig 3.0.9. However, our reference operating systems (Debian stable and SL7) still have swig 3.0.7. 19 September 2016, 13:13:09 UTC
89c5fa0 lal/swig/generate_swig_iface.py: fix typo/bug 14 September 2016, 15:01:27 UTC
a38f75f SWIG: enforce tagnames for typedef'd enums - Enums without tagnames can trigger bugs in SWIG, e.g. for an enum typedef enum { ... } myenum and a function void myfunction(const myenum *e); SWIG generates the incorrect cast (enum myenum const*) e whereas if the enum is given a tagname typedef enum tagmyenum { ... } myenum SWIG generates the correct cast (enum tagmyenum const*) e 10 August 2016, 12:37:03 UTC
9b48cf3 SWIG: support Python's copy.copy() and copy.deepcopy() functions - Shallow copies are supported for non-opaque structs - Deep copies are supported for non-opaque structs without a destructor, which presumably can be trivially copied - Otherwise an XLAL_ENOSYS (not implemented) error is raised - Fixes #4546 09 August 2016, 09:50:38 UTC
20003b9 SWIG: add (shallow) copy constructors to all non-opaque structs - Remove no longer needed COPY_CONSTRUCTOR() macro 09 August 2016, 09:47:02 UTC
8999460 SWIGCommon: rename %swiglal_struct_create_cdtors() to %swiglal_struct_extend() 09 August 2016, 09:47:02 UTC
c1ea650 SWIGLALOmega: use XLALSetErrno() to silently signal an error to wrapper function 09 August 2016, 09:43:49 UTC
056f25c Fix tautological comparison detected by gcc6 26 July 2016, 19:50:18 UTC
cd9d747 SWIG: fix return type of __hash__() function wrappers to a PyLong - This reverts commit 106a5f96f608219c9f14f8c1fc87f037b699d65b - Refs #4330 01 July 2016, 16:21:19 UTC
2ff4cb8 Port lal unit test suite to Python 3 16 June 2016, 16:00:37 UTC
809f578 test is failing on OS X, comment out 05 June 2016, 17:17:22 UTC
b621ae2 SWIG: call XLAL...VCSInfoCheck() version mismatch checking functions from module load 18 February 2016, 14:29:32 UTC
4f8c929 SWIG: allow wrapping of fixed arrays of pointers 18 February 2016, 14:22:34 UTC
d7e498a SWIG: explicitly cast array dimensions from size_t to array length type - reduces warnings with some compilers 18 November 2015, 16:49:36 UTC
cd04801 SWIG: compatibility fixes for Octave 4.0.0 - Octave 4.0.0 requires SWIG 3.0.7 or later 18 November 2015, 16:17:56 UTC
15a5c40 SWIG: fix a bug in commit bf04eae9fd91e4df3b6ac3ddafa462b22e627d49 05 November 2015, 12:41:25 UTC
149ca98 SWIG: extend LIGOTimeGPS typemaps to accept Python objects with .gpsSeconds and .gpsNanoSeconds attributes - With tests in SWIGTestLALPython.py - Refs #2721 05 November 2015, 12:23:14 UTC
c7d1067 SWIG: add typecheck typemaps to %swiglal_specialised_typemaps() - Note that typecheck take the *lowest* precedence, i.e. in overloaded functions, typechecks for all other types are tried first before these typechecks, and swiglal_specialised_TAGNAME() is the last typecheck attempted. This is important for e.g. LIGOTimeGPS, where for numerical precision the (LIGOTimeGPS / double) operator must take precedence over the (LIGOTimeGPS / LIGOTimeGPS) operator. 05 November 2015, 12:23:13 UTC
640acd1 SWIG: run Octave/Python test scripts with unbuffered standard output/error 05 November 2015, 12:23:13 UTC
70a1a5b SWIG: avoid "taking address of temporary" warnings on SL6 (#2) 30 October 2015, 13:14:13 UTC
0926c55 SWIG: avoid "taking address of temporary" warnings on SL6 29 October 2015, 18:49:26 UTC
b58fc59 SWIG: add directive 'COPYINOUT_ARRAYS' 12 August 2015, 19:28:28 UTC
6456fc1 SWIG: rename directive 'VIEWIN_STRUCTS' to 'VIEWIN_ARRAYS' 12 August 2015, 19:14:06 UTC
9bac430 SWIGTestLALPython.py: remove unneeded semicolons 12 August 2015, 19:14:06 UTC
6e6afc0 SWIG: rename some SWIG directives for improved clarity - RETURNS_PROPERTY() -> OWNED_BY_1ST_ARG() - ACQUIRES_OWNERSHIP() -> OWNS_THIS_ARG() 20 July 2015, 15:59:06 UTC
16f9714 SWIG: fix return values for Python comparison operators - Python comparison operators must return Py_NotImplemented if they cannot compare two objects, rather than raising an error, as SWIG does by default - Use typemaps and a dummy argument to hack SWIG to return Py_NotImplemented in "cleanup" code, bypassing normal error return path - Refs #2215 19 June 2015, 00:11:17 UTC
c4a327d SWIG: use generate_swig_iface.py to apply typemaps ignoring 'int' returns - Otherwise cannot use RETURN_VALUE(int,...) to disable typemaps 19 May 2015, 17:42:21 UTC
081b4ed SWIG: fix loss of precision in LIGOTimeGPS reverse multiplication operator - Special typemaps needed for __mul__() to handle (double * LIGOTimeGPS) - Also add high-precision LIGOTimeGPS tests to Octave test script - Refs #2036 18 April 2015, 23:07:11 UTC
f3ce166 XLALGPSMultiply(): rework to improve precision - still not returning exactly-rounded results, but better. disagreement with exactly-rounded results from bc <= 1 ns (off-by-one in least-significant digit) - note the swig bindings unit tests need to be updated in this patch 16 April 2015, 18:16:59 UTC
efc1c9e lal swig LIGOTimeGPS: explain absence of in-place operators 16 April 2015, 17:47:45 UTC
96fe2dd lal: fix loss of precision in LIGOTimeGPS swig bindings - the .__sub() and .__rsub__() operators were implemented using double precision floats as intermediate values, loosing precision. this patch removes the intermediate format. - the .__mul__() and .__div__() operators were using LIGOTimeGPS as intermediate values. this patch provides an alternate code path when the multiplying factor is a double precision float, avoiding the loss of precision when casting small doubles to LIGOTimeGPS. NOTE: reversed operations are still broken (can't figure out how to fix). - add unit tests to catch these problems in the future 16 April 2015, 17:47:45 UTC
583d9f2 Revert "SWIG: add directives for wrapping REAL4VectorAligned in VectorMath.h" - This reverts commit 0abaa0abf5b97f686dc6d0e4a51e4b98e5b94451. - VectorMath functions are designed to be low-level, so calling them from SWIG is not required (and indeed not possible with the change to a lower-level API). - Refs #358 23 March 2015, 08:31:11 UTC
af6a04f SWIG: fix compatibility with Octave 3.2.4 - datenum() does not accept a single DATEVEC argument, so pass date vector to datenum() as individual arguments - datenum() returns more than one value, so only fail if no values are returned - Refs #1970 19 March 2015, 15:02:12 UTC
435e404 SWIG: do not use XLALFillBrokenDownTime() for Octave 'tm' struct conversions - For input maps, use Octave datevec -> Octave datenum -> time_t -> struct tm - For output maps, use struct tm -> Octave datevec as before, but only 6 elements - Update and streamline tests - Refs #1970 18 March 2015, 14:49:56 UTC
dd5b586 SWIG: cleanup and streamline 'tm' struct tests for Python 18 March 2015, 14:49:46 UTC
587fccc lal swig: fix test of UTC <--> GPS conversion wrapper - 6-element input no longer accepted - output is now a tuple instead of a list - day-of-week and day-of-year are not necessarily repopulated internally so the tests now always provide correct values (they actually are, still, repopulated internally but that's a quirk of the implementation of the LAL time conversion routines and should not be relied upon by these tests) 17 March 2015, 17:14:33 UTC
94eb157 lal swig: fix issues in handling of struct tm - do not disregard tm_wday and tm_yday values in input and do not rely XLALFillBrokenDownTime() to populate these values (probably not threadsafe) - disallow 6-element input, require Python time.struct_time-compatible input. - return struct tm value to Python as a tuple instead of a list (the time.struct_time type is immutable, calling code written to expect mutability will not interoperate with other Python libraries) 16 March 2015, 19:41:35 UTC
bbcca20 SWIG: do not contaminate config.h with SWIG-specific defines - Use AC_CHECK_HEADER() for header checks, does not define HAVE_... symbols - Use AC_CHECK_DECL() for NumPy declaration checks, pass SWIGLAL_HAVE_... symbols on command line to Python wrapping build 04 March 2015, 12:25:04 UTC
c0bda41 SWIG: add SWIGLAL(COPY_CONSTRUCTOR(TAGNAME)) general macro 03 March 2015, 15:43:35 UTC
874ab5a SWIG: consistently use allocate and/or copy new instances and arrays macros - Do not need to pass struct typedef name to %swiglal_struct_create_cdtors() 03 March 2015, 15:43:35 UTC
a522e43 SWIG: use XLALCalloc() in allocate and/or copy new instances and arrays macros 03 March 2015, 15:43:35 UTC
35e6bb5 SWIG: reorder general macros: function-related first, then struct-related 03 March 2015, 15:43:35 UTC
fcb19b3 SWIG: add directives for wrapping REAL4VectorAligned in VectorMath.h - with basic sanity tests for Octave and Python 27 February 2015, 15:28:43 UTC
de13ad3 SWIG: add CAST_STRUCT_TO() directive 27 February 2015, 15:24:35 UTC
c55ae8a SWIG: reformat interface file comments to 100-column lines 27 February 2015, 15:24:35 UTC
17deec0 SWIG: move general SWIGLAL() macros to separate section at end of SWIGCommon.i 27 February 2015, 15:24:35 UTC
c0559d5 SWIG: move test code into separate SWIGTest.c source files 23 January 2015, 23:06:04 UTC
fe2e82d Integrate SWIG interface code into Doxygen documentation 15 January 2015, 13:00:47 UTC
6ebdd86 SWIG: protect against dereferencing a null pointer $1 02 December 2014, 17:04:48 UTC
0b1910e SWIG: remove bundling of generated sources in distribution tarballs - does not work well enough with LALSuite packaging - sundry other minor changes to SWIG bindings 22 November 2014, 23:26:19 UTC
202f2ba SWIG: declare Python swiglal_get_reference() function with SWIGINTERNINLINE - should suppress unused function warnings since SWIGINTERNINLINE includes SWIGUNUSED 06 November 2014, 20:42:10 UTC
1620ebf SWIG: silence Octave warnings when compiling on SL7 21 October 2014, 10:23:47 UTC
681040e SWIG: fix bugs in getting pointers to Octave array data for viewing 15 September 2014, 12:55:36 UTC
a7684f5 SWIG: use a typedef to check the size of structs when viewing arrays - swiglal_field_count_... #defines do not get passed to dependent SWIG modules, so typemaps will only work in library where array type is defined, e.g. REAL8Vector viewing will only work in LAL - Instead create a dummy typedef sizechk_t containing only fields that should be in array type, then check if it's the same size as NAME. Not completely foolproof because of alignment issues, but anyway... 15 September 2014, 12:55:02 UTC
b1a3e59 SWIG: do not rename a symbol if re-name would start with a digit or _ - Symbol names starting with a digit are not allowed in Python, and names starting with a _ also do not seem to work with modules - Test by importing LAL_C_SI and LAL_180_PI constants 02 September 2014, 17:13:35 UTC
7378cd2 SWIG: add macros for ignoring members of structs 01 September 2014, 14:11:09 UTC
back to top