Pyslvs 編譯進度 - 演算法:

  • 編譯

Pyslvs 編譯進度 - 演算法

編譯

倉儲:

https://github.com/40323230/pyslvs_generate-1

將演算法的原始碼統整,並為其 Makefile 添加 clean 指令。

接著就 test.py 範例檔研究了一下,將原本回傳的字串全部改成 float 型態的 list,並且調整了一些顯示方式。

將結果轉換為浮點數:

a = [k for k in map(lambda x: [float(i) for i in x.split(',')[1::]],[e for e in time_and_fitness.split(';')[0:-1]])]
b = [float(e) for e in fitnessParameter.split(',')]
print(a)
print(b)

X 和 Y 座標的部份之後再做處理,可以確保的是能夠從整個字串中取回數值,回傳至 Pyslvs 時再做篩選。

目前在 14.04 和 16.04 的 Python 3.4 和 3.5 測試都運作良好,Windows 還沒試過。

Linux 編譯流程:

進入 Tinycad_package 目錄下。

1
2
$sudo pip3 install Cython
$make

在該目錄下會編譯出可用的動態連結庫,將其移出就能讓 Python 程式碼使用。

接著就要讓 Pyslvs 使用演算法解題。

目前測試解題速度平均 25 秒左右,舊電腦 35 秒左右。

會試圖研究 Windows 版的編譯方式,最後會像 Python Solvespace 的 kernel 一樣偵測平台和 Python 版本作切換。


Comments

comments powered by Disqus