coriolis/crlcore/src/pyCRL
Jean-Paul Chaput 02777e127e Migration towards Python3, first stage: still based on C-Macros.
* New: Python/C++ API level:
  * Write a new C++/template wrapper to get rid of boost::python
  * The int & long Python type are now merged. So a C/C++ level,
    it became "PyLong_X" (remove "PyInt_X") and at Python code
    level, it became "int" (remove "long").
* Change: VLSISAPD finally defunct.
  * Configuration is now integrated as a Hurricane component,
    makes use of the new C++/template wrapper.
  * vlsisapd is now defunct. Keep it in the source for now as
    some remaining non essential code may have to be ported in
    the future.
* Note: Python code (copy of the migration howto):
  * New print function syntax print().
  * Changed "dict.has_key(k)" for "k" in dict.
  * Changed "except Exception, e" for "except Exception as e".
  * The division "/" is now the floating point division, even if
    both operand are integers. So 3/2 now gives 1.5 and no longer 1.
    The integer division is now "//" : 1 = 3//2. So have to carefully
    review the code to update. Most of the time we want to use "//".
    We must never change to float for long that, in fact, represents
    DbU (exposed as Python int type).
  * execfile() must be replaced by exec(open("file").read()).
  * iter().__next__() becomes iter(x).__next__().
  * __getslice__() has been removed, integrated to __getitem__().
  * The formating used for str(type(o)) has changed, so In Stratus,
    have to update them ("<class 'MyClass'>" instead of "MyClass").
  * the "types" module no longer supply values for default types
    like str (types.StringType) or list (types.StringType).
    Must use "isinstance()" where they were occuring.
  * Remove the 'L' to indicate "long integer" (like "12L"), now
    all Python integer are long.
* Change in bootstrap:
  * Ported Coriolis builder (ccb) to Python3.
  * Ported Coriolis socInstaller.py to Python3.
  * Note: In PyQt4+Python3, QVariant no longer exists. Use None or
    directly convert using the python syntax: bool(x), int(x), ...
    By default, it is a string (str).
* Note: PyQt4 bindings & Python3 under SL7.
  * In order to compile user's must upgrade to my own rebuild of
    PyQt 4 & 5 bindings 4.19.21-1.el7.soc.
* Bug: In cumulus/plugins.block.htree.HTree.splitNet(), set the root
    buffer of the H-Tree to the original signal (mainly: top clock).
      Strangely, it was only done when working in full chip mode.
2021-09-19 19:41:24 +02:00
..
crlcore Manage .include in SPICE driver so they occurs only once. 2021-06-24 11:17:21 +02:00
CMakeLists.txt Migration towards Python3, first stage: still based on C-Macros. 2021-09-19 19:41:24 +02:00
PyAcmSigda.cpp New implementation for the Python hash and compare methods. 2019-11-14 23:56:01 +01:00
PyAllianceFramework.cpp Migration towards Python3, first stage: still based on C-Macros. 2021-09-19 19:41:24 +02:00
PyAllianceLibrary.cpp Support for full Database clear & restart. 2020-02-29 16:55:14 +01:00
PyBanner.cpp New implementation for the Python hash and compare methods. 2019-11-14 23:56:01 +01:00
PyBlif.cpp New implementation for the Python hash and compare methods. 2019-11-14 23:56:01 +01:00
PyCRL.cpp Migration towards Python3, first stage: still based on C-Macros. 2021-09-19 19:41:24 +02:00
PyCatalog.cpp Export Catalog::State creation support to Python. 2021-04-28 12:58:47 +02:00
PyCatalogState.cpp Migration towards Python3, first stage: still based on C-Macros. 2021-09-19 19:41:24 +02:00
PyCellGauge.cpp New implementation for the Python hash and compare methods. 2019-11-14 23:56:01 +01:00
PyConstant.cpp Migration towards Python3, first stage: still based on C-Macros. 2021-09-19 19:41:24 +02:00
PyDefImport.cpp New implementation for the Python hash and compare methods. 2019-11-14 23:56:01 +01:00
PyEnvironment.cpp Support for full Database clear & restart. 2020-02-29 16:55:14 +01:00
PyGds.cpp Small typo in GDS driver Python wrapper error message. 2020-10-25 11:43:41 +01:00
PyGraphicToolEngine.cpp * All Tools: 2012-11-16 12:49:47 +00:00
PyIspd05.cpp New implementation for the Python hash and compare methods. 2019-11-14 23:56:01 +01:00
PyLefImport.cpp New implementation for the Python hash and compare methods. 2019-11-14 23:56:01 +01:00
PyRoutingGauge.cpp Migration towards Python3, first stage: still based on C-Macros. 2021-09-19 19:41:24 +02:00
PyRoutingLayerGauge.cpp Add a RoutingLayerGauge.setType() and export to Python (finally unused). 2021-04-24 12:55:17 +02:00
PySpice.cpp Manage .include in SPICE driver so they occurs only once. 2021-06-24 11:17:21 +02:00
PySystem.cpp New implementation for the Python hash and compare methods. 2019-11-14 23:56:01 +01:00
PyToolBox.cpp Added Net direction checker/setter in CRL Core. 2021-03-15 23:57:15 +01:00
PyToolEngine.cpp Groudwork for routing density driven placement. Compliance with clang 5.0.1. 2019-12-09 01:57:44 +01:00
PyToolEngineCollection.cpp * All Tools: 2012-11-16 12:49:47 +00:00