Commit Graph

291 Commits

Author SHA1 Message Date
rdb 34761a0b9b Merge branch 'master' into interrogate-overhaul
Conflicts:
	dtool/src/cppparser/cppBison.yxx
2015-01-03 16:52:44 +01:00
rdb e8905b840c Use C++11 move semantics to dramatically improve PointerTo performance 2015-01-02 15:25:58 +01:00
rdb 6db5d0dc11 Huge cppparser and interrogate overhaul, bringing:
* Better support for typedefs
* Same code should compile for both 32-bit and 64-bit
* C++11 typed enum support
* Synthesize __setitem__ when operator [] returns reference
* Rewrite coerce system to have better performance
* Change semantics of __getattr__ and __setattr__ to match
  Python's, add __getattribute__, __delattr__ and __delitem__
* Improve performance of slot functions a bit more
* Reduce memory overhead of type system
* Some support for wrapping arrays of numeric types
* C++11 character type support in cppparser
* Chars are handled as strings of length 1
* Template functions for CreatePyInstance that use runtime type map
* More functions from dtool as extension functions
* Code cleanup
2014-12-30 16:43:52 +01:00
rdb 5aaaf72851 Fix issue with Eigen when matrix determinant is nearly 0
also fix error message for singular matrix
2014-12-10 16:32:04 +01:00
rdb 861234c349 Bunch of minor compile fixes and changes 2014-11-26 13:33:10 +00:00
rdb 3490be94b7 Fix deadlock issues with type registry 2014-11-21 16:51:36 +00:00
rdb c3bf91d608 GCC atomics also work in clang 3.0+ 2014-10-21 20:49:58 +00:00
rdb 31a71c990d Fix issues with OS X 10.9 compilation, fix issues uncovered by clang 2014-10-12 18:45:37 +00:00
rdb 0a84dd9ca3 Android fixes 2014-10-06 17:44:58 +00:00
rdb c178aba639 Add property support to interrogate (using MAKE_PROPERTY or using published members) 2014-09-19 15:23:52 +00:00
rdb 87910799b6 Split off epvector.h into its own file in an attempt to cut down compilation time 2014-09-14 22:04:36 +00:00
rdb ab5e4f496b Fix cmath includes on GNU 2014-08-21 17:00:57 +00:00
rdb 4db966f431 GNU needs #include <limits> for numeric_limits 2014-08-21 16:54:44 +00:00
rdb 515f93a0b8 Better handling of nan/infinity. Previously, these weren't working on Windows in config strings. 2014-08-20 19:32:11 +00:00
rdb 24d705b031 The "null" ButtonHandle and TypeHandle now evaluate to false 2014-07-29 11:15:12 +00:00
rdb e98618b105 Only use constexpr when the compiler conforms to C++11 2014-07-21 15:41:31 +00:00
rdb c257ce624e Interrogate overhaul that dramatically increases performance for the simpler methods 2014-07-18 13:54:38 +00:00
rdb dba717fe83 GCC 4.7 enables constexpr, not 4.6 2014-07-17 16:18:04 +00:00
rdb 1be0fb5169 Add atomic adjust impl that uses GCC intrinsics. Also, make use of "constexpr" when available. 2014-07-17 13:11:06 +00:00
rdb cba254d0bc Add wstring type handle. Also add some useful MAKE_SEQs. 2014-06-26 20:06:04 +00:00
rdb 5dae464394 Add integer vectors. Also add __pow__ operator to vectors. 2014-06-11 18:01:50 +00:00
rdb 4944d7cd7b use compare_to and get_class_type instead of compareTo and getClassType 2013-12-18 10:24:00 +00:00
rdb cc3bae7e76 Big interrogate cleanup, new extension system, add __iter__ support, add buffer protocol support 2013-09-17 10:11:43 +00:00
David Rose 67770fa3dc whoops, nan() and nanf() require a parameter 2013-05-04 01:10:42 +00:00
David Rose e0238675f3 make_nan() 2013-05-03 18:05:28 +00:00
rdb c26c0e6a97 Android support, part 1 2013-01-24 17:54:56 +00:00
rdb 0d7773d30a Fix typo 2012-10-19 13:06:01 +00:00
David Rose 88ef2618eb use win_amd64 instead of win64, and win_i386 instead of win32 2012-10-02 00:00:50 +00:00
David Rose 9daf081364 p3d supports win64 2012-08-13 23:13:23 +00:00
David Rose 97f805b24a pystub should be a static library for better portability, especially for dynamic loaders that aren't so awesome. 2012-06-20 21:41:49 +00:00
David Rose 4820b4a2db fix more static-init ordering issues caused by new alignment code 2012-02-12 19:55:52 +00:00
rdb d290a193ad Fix static init ordering issue with the runtime build 2012-02-10 09:19:12 +00:00
David Rose a06fd5521f found a reason to use dlmalloc if 16-byte alignment is required 2011-12-22 22:44:31 +00:00
David Rose f6a32897ba build correctly without DO_MEMORY_USAGE 2011-12-21 02:31:37 +00:00
David Rose 9326f5be54 compiler warnings 2011-12-21 01:39:47 +00:00
David Rose 6e5dd2cc63 fix memory crashes on win32/Eigen build 2011-12-21 01:25:38 +00:00
David Rose 1cf7a1fd79 define epvector 2011-12-19 15:14:29 +00:00
David Rose 66a52cb6a3 fix MemoryHook internal memory alignment issues 2011-12-18 19:20:18 +00:00
David Rose c5c21a566a UnalignedLVecBase etc, remove lerp etc, moving towards Eigen on win32 2011-12-18 16:30:31 +00:00
David Rose 787742c93e LINMATH_VECTORIZE -> LINMATH_ALIGN 2011-12-18 02:00:31 +00:00
David Rose 56fb33bf00 enforce alignment policies even when malloc() doesn't. 2011-12-18 01:55:22 +00:00
David Rose 702045608d report allocation attempt when out of memory 2011-12-17 01:57:05 +00:00
David Rose 33b9a1e1cf integrate Eigen 2011-12-16 14:17:48 +00:00
David Rose dfe16c64f6 rename all Panda-built libraries to begin with libp3 or libpanda 2011-12-06 02:39:21 +00:00
David Rose 82a33fad3e huh, InterlockedAdd only exists on win64, weird. 2011-11-18 22:33:34 +00:00
David Rose dca824b5de hey, this time I really found the ffmpeg crash. 2011-11-18 19:40:40 +00:00
David Rose 99c0a4ec50 posix build errors 2011-11-17 23:34:12 +00:00
David Rose 539b61571c guarantee word alignment for AtomicAdjust stuff 2011-11-17 23:31:31 +00:00
David Rose 003aa9e3dd PNMImage::gamma_correct() 2011-11-05 01:37:36 +00:00
David Rose 17cc1bd0a3 fix 64-bit problem with memory tracking 2011-11-01 17:18:55 +00:00