Pyslvs 編譯進度 - 演算法:
- 程式
Pyslvs 編譯進度 - 演算法
程式
將編譯好的 so 函式庫放到 kernel 資料夾的 pyslvs_generate 資料夾中,一樣是分開版本。
跟 Path track 與普通解題函式一起放在 calculation.py 中。
載入選擇:
if platform.system().lower()=="linux": if py_nm=="3.4": from ..kernel.pyslvs_generate.py34 import tinycadlib from ..kernel.pyslvs_generate.py34.planarlinkage import build_planar from ..kernel.pyslvs_generate.py34.rga import Genetic from ..kernel.pyslvs_generate.py34.firefly import Firefly from ..kernel.pyslvs_generate.py34.de import DiffertialEvolution if py_nm=="3.5": from ..kernel.pyslvs_generate.py35 import tinycadlib from ..kernel.pyslvs_generate.py35.planarlinkage import build_planar from ..kernel.pyslvs_generate.py35.rga import Genetic from ..kernel.pyslvs_generate.py35.firefly import Firefly from ..kernel.pyslvs_generate.py35.de import DiffertialEvolution
這裡必須額外載入 tinycadlib 函式庫。
在同層目錄下,planarlinkage 函式庫可以搜尋到 tinycadlib 函式庫,但是當用外部位置載入時,被包起來的 so 檔會找不到原本存在的名稱,所以額外載入 tinycadlib 供其使用。
當使用 Path solving panel 後可以回傳數據,但是無法回傳進度,要有這個功能可能得改寫演算法。
選擇演算方法的部份是切換式的,一次只能儲存一組解。如果空間允許,可能建一個清單儲存結果。
至於 Windows 方面則完全封鎖功能,編譯時會跳過整個 Path solving 的相關函式。
Comments
comments powered by Disqus