pytexgen 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (789) hide show
  1. pytexgen-1.0.0/.claude/settings.local.json +10 -0
  2. pytexgen-1.0.0/.gitignore +23 -0
  3. pytexgen-1.0.0/CMakeLists.txt +96 -0
  4. pytexgen-1.0.0/CSparse/CMakeLists.txt +5 -0
  5. pytexgen-1.0.0/CSparse/Demo/Makefile +39 -0
  6. pytexgen-1.0.0/CSparse/Demo/README.txt +4 -0
  7. pytexgen-1.0.0/CSparse/Demo/cs_demo.c +286 -0
  8. pytexgen-1.0.0/CSparse/Demo/cs_demo.h +15 -0
  9. pytexgen-1.0.0/CSparse/Demo/cs_demo.out +170 -0
  10. pytexgen-1.0.0/CSparse/Demo/cs_demo1.c +27 -0
  11. pytexgen-1.0.0/CSparse/Demo/cs_demo2.c +9 -0
  12. pytexgen-1.0.0/CSparse/Demo/cs_demo3.c +9 -0
  13. pytexgen-1.0.0/CSparse/Doc/ChangeLog +250 -0
  14. pytexgen-1.0.0/CSparse/Doc/License.txt +19 -0
  15. pytexgen-1.0.0/CSparse/Doc/lesser.txt +504 -0
  16. pytexgen-1.0.0/CSparse/Include/cs.h +143 -0
  17. pytexgen-1.0.0/CSparse/Lib/Makefile +35 -0
  18. pytexgen-1.0.0/CSparse/MATLAB/CSparse/Contents.m +53 -0
  19. pytexgen-1.0.0/CSparse/MATLAB/CSparse/Makefile +259 -0
  20. pytexgen-1.0.0/CSparse/MATLAB/CSparse/README.txt +1 -0
  21. pytexgen-1.0.0/CSparse/MATLAB/CSparse/ccspy.m +67 -0
  22. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_add.m +17 -0
  23. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_add_mex.c +28 -0
  24. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_amd.m +25 -0
  25. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_amd_mex.c +23 -0
  26. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_chol.m +19 -0
  27. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_chol_mex.c +28 -0
  28. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_cholsol.m +17 -0
  29. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_cholsol_mex.c +28 -0
  30. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_counts.m +19 -0
  31. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_counts_mex.c +32 -0
  32. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_dmperm.m +64 -0
  33. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_dmperm_mex.c +41 -0
  34. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_dmsol.m +33 -0
  35. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_dmspy.m +66 -0
  36. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_droptol.m +18 -0
  37. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_droptol_mex.c +26 -0
  38. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_esep.m +20 -0
  39. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_etree.m +19 -0
  40. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_etree_mex.c +33 -0
  41. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_gaxpy.m +15 -0
  42. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_gaxpy_mex.c +22 -0
  43. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_lsolve.m +17 -0
  44. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_lsolve_mex.c +59 -0
  45. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_ltsolve.m +15 -0
  46. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_ltsolve_mex.c +21 -0
  47. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_lu.m +29 -0
  48. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_lu_mex.c +53 -0
  49. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_lusol.m +23 -0
  50. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_lusol_mex.c +40 -0
  51. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_make.m +169 -0
  52. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_mex.c +118 -0
  53. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_mex.h +10 -0
  54. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_multiply.m +16 -0
  55. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_multiply_mex.c +25 -0
  56. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_must_compile.m +23 -0
  57. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_nd.m +27 -0
  58. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_nsep.m +18 -0
  59. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_permute.m +15 -0
  60. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_permute_mex.c +30 -0
  61. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_print.m +14 -0
  62. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_print_mex.c +20 -0
  63. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_qleft.m +36 -0
  64. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_qr.m +33 -0
  65. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_qr_mex.c +46 -0
  66. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_qright.m +26 -0
  67. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_qrsol.m +23 -0
  68. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_qrsol_mex.c +31 -0
  69. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_randperm.m +18 -0
  70. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_randperm_mex.c +28 -0
  71. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_scc.m +17 -0
  72. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_scc2.m +61 -0
  73. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_scc_mex.c +32 -0
  74. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_sep.m +21 -0
  75. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_sparse.m +17 -0
  76. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_sparse_mex.c +31 -0
  77. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_sqr.m +25 -0
  78. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_sqr_mex.c +40 -0
  79. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_symperm.m +20 -0
  80. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_symperm_mex.c +30 -0
  81. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_thumb_mex.c +56 -0
  82. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_transpose.m +17 -0
  83. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_transpose_mex.c +19 -0
  84. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_updown.m +26 -0
  85. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_updown_mex.c +53 -0
  86. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_usolve.m +21 -0
  87. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_usolve_mex.c +59 -0
  88. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_utsolve.m +19 -0
  89. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cs_utsolve_mex.c +21 -0
  90. pytexgen-1.0.0/CSparse/MATLAB/CSparse/cspy.m +100 -0
  91. pytexgen-1.0.0/CSparse/MATLAB/CSparse/private/drawbox.m +29 -0
  92. pytexgen-1.0.0/CSparse/MATLAB/CSparse/private/drawboxes.m +29 -0
  93. pytexgen-1.0.0/CSparse/MATLAB/Demo/Contents.m +11 -0
  94. pytexgen-1.0.0/CSparse/MATLAB/Demo/README.txt +1 -0
  95. pytexgen-1.0.0/CSparse/MATLAB/Demo/cs_demo.m +47 -0
  96. pytexgen-1.0.0/CSparse/MATLAB/Demo/cs_demo1.m +56 -0
  97. pytexgen-1.0.0/CSparse/MATLAB/Demo/cs_demo2.m +42 -0
  98. pytexgen-1.0.0/CSparse/MATLAB/Demo/cs_demo3.m +41 -0
  99. pytexgen-1.0.0/CSparse/MATLAB/Demo/private/demo2.m +109 -0
  100. pytexgen-1.0.0/CSparse/MATLAB/Demo/private/demo3.m +97 -0
  101. pytexgen-1.0.0/CSparse/MATLAB/Demo/private/ex2.m +91 -0
  102. pytexgen-1.0.0/CSparse/MATLAB/Demo/private/ex3.m +42 -0
  103. pytexgen-1.0.0/CSparse/MATLAB/Demo/private/ex_1.m +86 -0
  104. pytexgen-1.0.0/CSparse/MATLAB/Demo/private/frand.m +28 -0
  105. pytexgen-1.0.0/CSparse/MATLAB/Demo/private/get_problem.m +57 -0
  106. pytexgen-1.0.0/CSparse/MATLAB/Demo/private/is_sym.m +23 -0
  107. pytexgen-1.0.0/CSparse/MATLAB/Demo/private/mesh2d1.m +25 -0
  108. pytexgen-1.0.0/CSparse/MATLAB/Demo/private/mesh2d2.m +15 -0
  109. pytexgen-1.0.0/CSparse/MATLAB/Demo/private/mesh3d1.m +33 -0
  110. pytexgen-1.0.0/CSparse/MATLAB/Demo/private/mesh3d2.m +15 -0
  111. pytexgen-1.0.0/CSparse/MATLAB/Demo/private/print_order.m +21 -0
  112. pytexgen-1.0.0/CSparse/MATLAB/Demo/private/print_resid.m +12 -0
  113. pytexgen-1.0.0/CSparse/MATLAB/Demo/private/rhs.m +10 -0
  114. pytexgen-1.0.0/CSparse/MATLAB/Makefile +14 -0
  115. pytexgen-1.0.0/CSparse/MATLAB/README.txt +18 -0
  116. pytexgen-1.0.0/CSparse/MATLAB/Test/Contents.m +102 -0
  117. pytexgen-1.0.0/CSparse/MATLAB/Test/Makefile +51 -0
  118. pytexgen-1.0.0/CSparse/MATLAB/Test/README.txt +4 -0
  119. pytexgen-1.0.0/CSparse/MATLAB/Test/another_colormap.m +30 -0
  120. pytexgen-1.0.0/CSparse/MATLAB/Test/check_if_same.m +22 -0
  121. pytexgen-1.0.0/CSparse/MATLAB/Test/chol_downdate.m +28 -0
  122. pytexgen-1.0.0/CSparse/MATLAB/Test/chol_example.m +35 -0
  123. pytexgen-1.0.0/CSparse/MATLAB/Test/chol_left.m +15 -0
  124. pytexgen-1.0.0/CSparse/MATLAB/Test/chol_left2.m +20 -0
  125. pytexgen-1.0.0/CSparse/MATLAB/Test/chol_right.m +16 -0
  126. pytexgen-1.0.0/CSparse/MATLAB/Test/chol_super.m +19 -0
  127. pytexgen-1.0.0/CSparse/MATLAB/Test/chol_up.m +15 -0
  128. pytexgen-1.0.0/CSparse/MATLAB/Test/chol_update.m +26 -0
  129. pytexgen-1.0.0/CSparse/MATLAB/Test/chol_updown.m +36 -0
  130. pytexgen-1.0.0/CSparse/MATLAB/Test/choldn.m +46 -0
  131. pytexgen-1.0.0/CSparse/MATLAB/Test/cholup.m +26 -0
  132. pytexgen-1.0.0/CSparse/MATLAB/Test/cholupdown.m +58 -0
  133. pytexgen-1.0.0/CSparse/MATLAB/Test/cond1est.m +23 -0
  134. pytexgen-1.0.0/CSparse/MATLAB/Test/cs_fiedler.m +27 -0
  135. pytexgen-1.0.0/CSparse/MATLAB/Test/cs_frand.m +15 -0
  136. pytexgen-1.0.0/CSparse/MATLAB/Test/cs_frand_mex.c +59 -0
  137. pytexgen-1.0.0/CSparse/MATLAB/Test/cs_ipvec.m +12 -0
  138. pytexgen-1.0.0/CSparse/MATLAB/Test/cs_ipvec_mex.c +37 -0
  139. pytexgen-1.0.0/CSparse/MATLAB/Test/cs_maxtransr.m +12 -0
  140. pytexgen-1.0.0/CSparse/MATLAB/Test/cs_maxtransr_mex.c +87 -0
  141. pytexgen-1.0.0/CSparse/MATLAB/Test/cs_pvec.m +12 -0
  142. pytexgen-1.0.0/CSparse/MATLAB/Test/cs_pvec_mex.c +37 -0
  143. pytexgen-1.0.0/CSparse/MATLAB/Test/cs_q1.m +19 -0
  144. pytexgen-1.0.0/CSparse/MATLAB/Test/cs_reach.m +14 -0
  145. pytexgen-1.0.0/CSparse/MATLAB/Test/cs_reach_mex.c +39 -0
  146. pytexgen-1.0.0/CSparse/MATLAB/Test/cs_reachr.m +15 -0
  147. pytexgen-1.0.0/CSparse/MATLAB/Test/cs_reachr_mex.c +67 -0
  148. pytexgen-1.0.0/CSparse/MATLAB/Test/cs_rowcnt.m +15 -0
  149. pytexgen-1.0.0/CSparse/MATLAB/Test/cs_rowcnt_mex.c +86 -0
  150. pytexgen-1.0.0/CSparse/MATLAB/Test/cs_sparse2.m +15 -0
  151. pytexgen-1.0.0/CSparse/MATLAB/Test/cs_sparse2_mex.c +41 -0
  152. pytexgen-1.0.0/CSparse/MATLAB/Test/cs_test_make.m +33 -0
  153. pytexgen-1.0.0/CSparse/MATLAB/Test/cspy_test.m +50 -0
  154. pytexgen-1.0.0/CSparse/MATLAB/Test/dmperm_test.m +126 -0
  155. pytexgen-1.0.0/CSparse/MATLAB/Test/dmspy_test.m +28 -0
  156. pytexgen-1.0.0/CSparse/MATLAB/Test/etree_sample.m +71 -0
  157. pytexgen-1.0.0/CSparse/MATLAB/Test/givens2.m +17 -0
  158. pytexgen-1.0.0/CSparse/MATLAB/Test/gqr3.m +30 -0
  159. pytexgen-1.0.0/CSparse/MATLAB/Test/happly.m +11 -0
  160. pytexgen-1.0.0/CSparse/MATLAB/Test/hmake1.m +39 -0
  161. pytexgen-1.0.0/CSparse/MATLAB/Test/house.m +29 -0
  162. pytexgen-1.0.0/CSparse/MATLAB/Test/lu_left.m +25 -0
  163. pytexgen-1.0.0/CSparse/MATLAB/Test/lu_right.m +17 -0
  164. pytexgen-1.0.0/CSparse/MATLAB/Test/lu_rightp.m +22 -0
  165. pytexgen-1.0.0/CSparse/MATLAB/Test/lu_rightpr.m +29 -0
  166. pytexgen-1.0.0/CSparse/MATLAB/Test/lu_rightr.m +21 -0
  167. pytexgen-1.0.0/CSparse/MATLAB/Test/mynormest1.m +92 -0
  168. pytexgen-1.0.0/CSparse/MATLAB/Test/myqr.m +56 -0
  169. pytexgen-1.0.0/CSparse/MATLAB/Test/norm1est.m +34 -0
  170. pytexgen-1.0.0/CSparse/MATLAB/Test/qr2.m +21 -0
  171. pytexgen-1.0.0/CSparse/MATLAB/Test/qr_givens.m +24 -0
  172. pytexgen-1.0.0/CSparse/MATLAB/Test/qr_givens_full.m +17 -0
  173. pytexgen-1.0.0/CSparse/MATLAB/Test/qr_left.m +26 -0
  174. pytexgen-1.0.0/CSparse/MATLAB/Test/qr_right.m +19 -0
  175. pytexgen-1.0.0/CSparse/MATLAB/Test/sample_colormap.m +41 -0
  176. pytexgen-1.0.0/CSparse/MATLAB/Test/signum.m +13 -0
  177. pytexgen-1.0.0/CSparse/MATLAB/Test/sqr_example.m +29 -0
  178. pytexgen-1.0.0/CSparse/MATLAB/Test/test1.m +64 -0
  179. pytexgen-1.0.0/CSparse/MATLAB/Test/test10.m +96 -0
  180. pytexgen-1.0.0/CSparse/MATLAB/Test/test11.m +51 -0
  181. pytexgen-1.0.0/CSparse/MATLAB/Test/test12.m +44 -0
  182. pytexgen-1.0.0/CSparse/MATLAB/Test/test13.m +82 -0
  183. pytexgen-1.0.0/CSparse/MATLAB/Test/test14.m +38 -0
  184. pytexgen-1.0.0/CSparse/MATLAB/Test/test15.m +48 -0
  185. pytexgen-1.0.0/CSparse/MATLAB/Test/test16.m +90 -0
  186. pytexgen-1.0.0/CSparse/MATLAB/Test/test17.m +108 -0
  187. pytexgen-1.0.0/CSparse/MATLAB/Test/test18.m +34 -0
  188. pytexgen-1.0.0/CSparse/MATLAB/Test/test19.m +200 -0
  189. pytexgen-1.0.0/CSparse/MATLAB/Test/test2.m +102 -0
  190. pytexgen-1.0.0/CSparse/MATLAB/Test/test20.m +47 -0
  191. pytexgen-1.0.0/CSparse/MATLAB/Test/test21.m +118 -0
  192. pytexgen-1.0.0/CSparse/MATLAB/Test/test22.m +71 -0
  193. pytexgen-1.0.0/CSparse/MATLAB/Test/test23.m +32 -0
  194. pytexgen-1.0.0/CSparse/MATLAB/Test/test24.m +55 -0
  195. pytexgen-1.0.0/CSparse/MATLAB/Test/test25.m +66 -0
  196. pytexgen-1.0.0/CSparse/MATLAB/Test/test26.m +70 -0
  197. pytexgen-1.0.0/CSparse/MATLAB/Test/test27.m +47 -0
  198. pytexgen-1.0.0/CSparse/MATLAB/Test/test28.m +113 -0
  199. pytexgen-1.0.0/CSparse/MATLAB/Test/test3.m +100 -0
  200. pytexgen-1.0.0/CSparse/MATLAB/Test/test4.m +33 -0
  201. pytexgen-1.0.0/CSparse/MATLAB/Test/test5.m +60 -0
  202. pytexgen-1.0.0/CSparse/MATLAB/Test/test6.m +93 -0
  203. pytexgen-1.0.0/CSparse/MATLAB/Test/test7.m +107 -0
  204. pytexgen-1.0.0/CSparse/MATLAB/Test/test8.m +85 -0
  205. pytexgen-1.0.0/CSparse/MATLAB/Test/test9.m +114 -0
  206. pytexgen-1.0.0/CSparse/MATLAB/Test/test_qr.m +55 -0
  207. pytexgen-1.0.0/CSparse/MATLAB/Test/test_qr1.m +58 -0
  208. pytexgen-1.0.0/CSparse/MATLAB/Test/test_qrsol.m +50 -0
  209. pytexgen-1.0.0/CSparse/MATLAB/Test/test_randperms.m +60 -0
  210. pytexgen-1.0.0/CSparse/MATLAB/Test/test_sep.m +102 -0
  211. pytexgen-1.0.0/CSparse/MATLAB/Test/testall.m +42 -0
  212. pytexgen-1.0.0/CSparse/MATLAB/Test/testh.m +85 -0
  213. pytexgen-1.0.0/CSparse/MATLAB/UFget/Contents.m +16 -0
  214. pytexgen-1.0.0/CSparse/MATLAB/UFget/README.txt +67 -0
  215. pytexgen-1.0.0/CSparse/MATLAB/UFget/UFget.m +142 -0
  216. pytexgen-1.0.0/CSparse/MATLAB/UFget/UFget_defaults.m +43 -0
  217. pytexgen-1.0.0/CSparse/MATLAB/UFget/UFget_example.m +30 -0
  218. pytexgen-1.0.0/CSparse/MATLAB/UFget/UFget_lookup.m +77 -0
  219. pytexgen-1.0.0/CSparse/MATLAB/UFget/UFgrep.m +53 -0
  220. pytexgen-1.0.0/CSparse/MATLAB/UFget/UFweb.m +135 -0
  221. pytexgen-1.0.0/CSparse/MATLAB/UFget/mat/UF_Index.mat +0 -0
  222. pytexgen-1.0.0/CSparse/MATLAB/cs_install.m +73 -0
  223. pytexgen-1.0.0/CSparse/Makefile +30 -0
  224. pytexgen-1.0.0/CSparse/Matrix/ash219 +438 -0
  225. pytexgen-1.0.0/CSparse/Matrix/bcsstk01 +224 -0
  226. pytexgen-1.0.0/CSparse/Matrix/bcsstk16 +147631 -0
  227. pytexgen-1.0.0/CSparse/Matrix/fs_183_1 +1069 -0
  228. pytexgen-1.0.0/CSparse/Matrix/ibm32a +123 -0
  229. pytexgen-1.0.0/CSparse/Matrix/ibm32b +123 -0
  230. pytexgen-1.0.0/CSparse/Matrix/lp_afiro +102 -0
  231. pytexgen-1.0.0/CSparse/Matrix/mbeacxc +49920 -0
  232. pytexgen-1.0.0/CSparse/Matrix/t1 +10 -0
  233. pytexgen-1.0.0/CSparse/Matrix/west0067 +299 -0
  234. pytexgen-1.0.0/CSparse/README.txt +428 -0
  235. pytexgen-1.0.0/CSparse/Source/README.txt +3 -0
  236. pytexgen-1.0.0/CSparse/Source/cs_add.c +28 -0
  237. pytexgen-1.0.0/CSparse/Source/cs_amd.c +364 -0
  238. pytexgen-1.0.0/CSparse/Source/cs_chol.c +58 -0
  239. pytexgen-1.0.0/CSparse/Source/cs_cholsol.c +26 -0
  240. pytexgen-1.0.0/CSparse/Source/cs_compress.c +22 -0
  241. pytexgen-1.0.0/CSparse/Source/cs_counts.c +61 -0
  242. pytexgen-1.0.0/CSparse/Source/cs_cumsum.c +17 -0
  243. pytexgen-1.0.0/CSparse/Source/cs_dfs.c +36 -0
  244. pytexgen-1.0.0/CSparse/Source/cs_dmperm.c +144 -0
  245. pytexgen-1.0.0/CSparse/Source/cs_droptol.c +9 -0
  246. pytexgen-1.0.0/CSparse/Source/cs_dropzeros.c +9 -0
  247. pytexgen-1.0.0/CSparse/Source/cs_dupl.c +34 -0
  248. pytexgen-1.0.0/CSparse/Source/cs_entry.c +13 -0
  249. pytexgen-1.0.0/CSparse/Source/cs_ereach.c +23 -0
  250. pytexgen-1.0.0/CSparse/Source/cs_etree.c +30 -0
  251. pytexgen-1.0.0/CSparse/Source/cs_fkeep.c +25 -0
  252. pytexgen-1.0.0/CSparse/Source/cs_gaxpy.c +17 -0
  253. pytexgen-1.0.0/CSparse/Source/cs_happly.c +19 -0
  254. pytexgen-1.0.0/CSparse/Source/cs_house.c +23 -0
  255. pytexgen-1.0.0/CSparse/Source/cs_ipvec.c +9 -0
  256. pytexgen-1.0.0/CSparse/Source/cs_leaf.c +22 -0
  257. pytexgen-1.0.0/CSparse/Source/cs_load.c +15 -0
  258. pytexgen-1.0.0/CSparse/Source/cs_lsolve.c +18 -0
  259. pytexgen-1.0.0/CSparse/Source/cs_ltsolve.c +18 -0
  260. pytexgen-1.0.0/CSparse/Source/cs_lu.c +86 -0
  261. pytexgen-1.0.0/CSparse/Source/cs_lusol.c +26 -0
  262. pytexgen-1.0.0/CSparse/Source/cs_malloc.c +35 -0
  263. pytexgen-1.0.0/CSparse/Source/cs_maxtrans.c +92 -0
  264. pytexgen-1.0.0/CSparse/Source/cs_multiply.c +35 -0
  265. pytexgen-1.0.0/CSparse/Source/cs_norm.c +15 -0
  266. pytexgen-1.0.0/CSparse/Source/cs_permute.c +25 -0
  267. pytexgen-1.0.0/CSparse/Source/cs_pinv.c +11 -0
  268. pytexgen-1.0.0/CSparse/Source/cs_post.c +24 -0
  269. pytexgen-1.0.0/CSparse/Source/cs_print.c +36 -0
  270. pytexgen-1.0.0/CSparse/Source/cs_pvec.c +9 -0
  271. pytexgen-1.0.0/CSparse/Source/cs_qr.c +73 -0
  272. pytexgen-1.0.0/CSparse/Source/cs_qrsol.c +53 -0
  273. pytexgen-1.0.0/CSparse/Source/cs_randperm.c +22 -0
  274. pytexgen-1.0.0/CSparse/Source/cs_reach.c +19 -0
  275. pytexgen-1.0.0/CSparse/Source/cs_scatter.c +22 -0
  276. pytexgen-1.0.0/CSparse/Source/cs_scc.c +41 -0
  277. pytexgen-1.0.0/CSparse/Source/cs_schol.c +26 -0
  278. pytexgen-1.0.0/CSparse/Source/cs_spsolve.c +28 -0
  279. pytexgen-1.0.0/CSparse/Source/cs_sqr.c +88 -0
  280. pytexgen-1.0.0/CSparse/Source/cs_symperm.c +39 -0
  281. pytexgen-1.0.0/CSparse/Source/cs_tdfs.c +24 -0
  282. pytexgen-1.0.0/CSparse/Source/cs_transpose.c +25 -0
  283. pytexgen-1.0.0/CSparse/Source/cs_updown.c +37 -0
  284. pytexgen-1.0.0/CSparse/Source/cs_usolve.c +18 -0
  285. pytexgen-1.0.0/CSparse/Source/cs_util.c +119 -0
  286. pytexgen-1.0.0/CSparse/Source/cs_utsolve.c +18 -0
  287. pytexgen-1.0.0/CSparse/Tcov/Makefile +102 -0
  288. pytexgen-1.0.0/CSparse/Tcov/README.txt +13 -0
  289. pytexgen-1.0.0/CSparse/Tcov/cov.awk +17 -0
  290. pytexgen-1.0.0/CSparse/Tcov/covall +7 -0
  291. pytexgen-1.0.0/CSparse/Tcov/covall.linux +7 -0
  292. pytexgen-1.0.0/CSparse/Tcov/covall.sol +5 -0
  293. pytexgen-1.0.0/CSparse/Tcov/cover +9 -0
  294. pytexgen-1.0.0/CSparse/Tcov/covs +7 -0
  295. pytexgen-1.0.0/CSparse/Tcov/cstcov_malloc_test.c +34 -0
  296. pytexgen-1.0.0/CSparse/Tcov/cstcov_malloc_test.h +5 -0
  297. pytexgen-1.0.0/CSparse/Tcov/cstcov_test.c +30 -0
  298. pytexgen-1.0.0/CSparse/Tcov/gcovs +6 -0
  299. pytexgen-1.0.0/CSparse/Tcov/nil +0 -0
  300. pytexgen-1.0.0/CSparse/Tcov/zero +1 -0
  301. pytexgen-1.0.0/Core/AdjustMeshInterference.cpp +826 -0
  302. pytexgen-1.0.0/Core/AdjustMeshInterference.h +148 -0
  303. pytexgen-1.0.0/Core/BasicVolumes.cpp +1082 -0
  304. pytexgen-1.0.0/Core/BasicVolumes.h +140 -0
  305. pytexgen-1.0.0/Core/BendingPeriodicBoundaries.cpp +233 -0
  306. pytexgen-1.0.0/Core/BendingPeriodicBoundaries.h +43 -0
  307. pytexgen-1.0.0/Core/CMakeLists.txt +131 -0
  308. pytexgen-1.0.0/Core/DefaultProperties.h +40 -0
  309. pytexgen-1.0.0/Core/Domain.cpp +201 -0
  310. pytexgen-1.0.0/Core/Domain.h +116 -0
  311. pytexgen-1.0.0/Core/DomainPlanes.cpp +1252 -0
  312. pytexgen-1.0.0/Core/DomainPlanes.h +93 -0
  313. pytexgen-1.0.0/Core/DomainPrism.cpp +1361 -0
  314. pytexgen-1.0.0/Core/DomainPrism.h +133 -0
  315. pytexgen-1.0.0/Core/Elements.cpp +510 -0
  316. pytexgen-1.0.0/Core/Elements.h +172 -0
  317. pytexgen-1.0.0/Core/FibreDistribution.cpp +48 -0
  318. pytexgen-1.0.0/Core/FibreDistribution.h +54 -0
  319. pytexgen-1.0.0/Core/FibreDistribution1DQuad.cpp +94 -0
  320. pytexgen-1.0.0/Core/FibreDistribution1DQuad.h +48 -0
  321. pytexgen-1.0.0/Core/FibreDistributionConst.cpp +79 -0
  322. pytexgen-1.0.0/Core/FibreDistributionConst.h +45 -0
  323. pytexgen-1.0.0/Core/GeometrySolver.cpp +899 -0
  324. pytexgen-1.0.0/Core/GeometrySolver.h +176 -0
  325. pytexgen-1.0.0/Core/Interpolation.cpp +354 -0
  326. pytexgen-1.0.0/Core/Interpolation.h +112 -0
  327. pytexgen-1.0.0/Core/InterpolationAdjusted.cpp +115 -0
  328. pytexgen-1.0.0/Core/InterpolationAdjusted.h +65 -0
  329. pytexgen-1.0.0/Core/InterpolationBezier.cpp +109 -0
  330. pytexgen-1.0.0/Core/InterpolationBezier.h +49 -0
  331. pytexgen-1.0.0/Core/InterpolationCubic.cpp +255 -0
  332. pytexgen-1.0.0/Core/InterpolationCubic.h +78 -0
  333. pytexgen-1.0.0/Core/InterpolationLinear.cpp +96 -0
  334. pytexgen-1.0.0/Core/InterpolationLinear.h +49 -0
  335. pytexgen-1.0.0/Core/LinearTransformation.cpp +108 -0
  336. pytexgen-1.0.0/Core/LinearTransformation.h +75 -0
  337. pytexgen-1.0.0/Core/Logger.cpp +76 -0
  338. pytexgen-1.0.0/Core/Logger.h +130 -0
  339. pytexgen-1.0.0/Core/Materials.cpp +249 -0
  340. pytexgen-1.0.0/Core/Materials.h +84 -0
  341. pytexgen-1.0.0/Core/Matrix.h +1141 -0
  342. pytexgen-1.0.0/Core/MatrixUtils.h +70 -0
  343. pytexgen-1.0.0/Core/Mesh.cpp +2737 -0
  344. pytexgen-1.0.0/Core/Mesh.h +523 -0
  345. pytexgen-1.0.0/Core/MeshData.h +175 -0
  346. pytexgen-1.0.0/Core/MeshDomainPlane.cpp +418 -0
  347. pytexgen-1.0.0/Core/MeshDomainPlane.h +76 -0
  348. pytexgen-1.0.0/Core/MeshOctreeClasses.cpp +332 -0
  349. pytexgen-1.0.0/Core/MeshOctreeClasses.h +158 -0
  350. pytexgen-1.0.0/Core/Mesher.cpp +1974 -0
  351. pytexgen-1.0.0/Core/Mesher.h +227 -0
  352. pytexgen-1.0.0/Core/Misc.cpp +188 -0
  353. pytexgen-1.0.0/Core/Misc.h +302 -0
  354. pytexgen-1.0.0/Core/Node.cpp +120 -0
  355. pytexgen-1.0.0/Core/Node.h +79 -0
  356. pytexgen-1.0.0/Core/ObjectContainer.h +143 -0
  357. pytexgen-1.0.0/Core/OctreeVoxelMesh.cpp +2493 -0
  358. pytexgen-1.0.0/Core/OctreeVoxelMesh.h +194 -0
  359. pytexgen-1.0.0/Core/PatternDraft.cpp +230 -0
  360. pytexgen-1.0.0/Core/PatternDraft.h +67 -0
  361. pytexgen-1.0.0/Core/PeriodicBoundaries.cpp +560 -0
  362. pytexgen-1.0.0/Core/PeriodicBoundaries.h +87 -0
  363. pytexgen-1.0.0/Core/Plane.h +49 -0
  364. pytexgen-1.0.0/Core/PrecompiledHeaders.cpp +25 -0
  365. pytexgen-1.0.0/Core/PrecompiledHeaders.h +45 -0
  366. pytexgen-1.0.0/Core/PrismVoxelMesh.cpp +220 -0
  367. pytexgen-1.0.0/Core/PrismVoxelMesh.h +61 -0
  368. pytexgen-1.0.0/Core/Properties.cpp +378 -0
  369. pytexgen-1.0.0/Core/Properties.h +241 -0
  370. pytexgen-1.0.0/Core/PropertiesTextile.cpp +146 -0
  371. pytexgen-1.0.0/Core/PropertiesTextile.h +104 -0
  372. pytexgen-1.0.0/Core/PropertiesYarn.cpp +61 -0
  373. pytexgen-1.0.0/Core/PropertiesYarn.h +67 -0
  374. pytexgen-1.0.0/Core/Property.cpp +129 -0
  375. pytexgen-1.0.0/Core/Property.h +61 -0
  376. pytexgen-1.0.0/Core/RectangularVoxelMesh.cpp +98 -0
  377. pytexgen-1.0.0/Core/RectangularVoxelMesh.h +56 -0
  378. pytexgen-1.0.0/Core/ReedData.cpp +45 -0
  379. pytexgen-1.0.0/Core/ReedData.h +42 -0
  380. pytexgen-1.0.0/Core/RotatedPeriodicBoundaries.cpp +372 -0
  381. pytexgen-1.0.0/Core/RotatedPeriodicBoundaries.h +42 -0
  382. pytexgen-1.0.0/Core/RotatedVoxelMesh.cpp +116 -0
  383. pytexgen-1.0.0/Core/RotatedVoxelMesh.h +49 -0
  384. pytexgen-1.0.0/Core/Section.cpp +308 -0
  385. pytexgen-1.0.0/Core/Section.h +132 -0
  386. pytexgen-1.0.0/Core/SectionBezier.cpp +130 -0
  387. pytexgen-1.0.0/Core/SectionBezier.h +58 -0
  388. pytexgen-1.0.0/Core/SectionEllipse.cpp +72 -0
  389. pytexgen-1.0.0/Core/SectionEllipse.h +54 -0
  390. pytexgen-1.0.0/Core/SectionHybrid.cpp +167 -0
  391. pytexgen-1.0.0/Core/SectionHybrid.h +72 -0
  392. pytexgen-1.0.0/Core/SectionLenticular.cpp +140 -0
  393. pytexgen-1.0.0/Core/SectionLenticular.h +55 -0
  394. pytexgen-1.0.0/Core/SectionMesh.cpp +84 -0
  395. pytexgen-1.0.0/Core/SectionMesh.h +78 -0
  396. pytexgen-1.0.0/Core/SectionMeshRectangleSection.cpp +220 -0
  397. pytexgen-1.0.0/Core/SectionMeshRectangleSection.h +53 -0
  398. pytexgen-1.0.0/Core/SectionMeshRectangular.cpp +342 -0
  399. pytexgen-1.0.0/Core/SectionMeshRectangular.h +52 -0
  400. pytexgen-1.0.0/Core/SectionMeshTriangulate.cpp +230 -0
  401. pytexgen-1.0.0/Core/SectionMeshTriangulate.h +59 -0
  402. pytexgen-1.0.0/Core/SectionPolygon.cpp +193 -0
  403. pytexgen-1.0.0/Core/SectionPolygon.h +73 -0
  404. pytexgen-1.0.0/Core/SectionPowerEllipse.cpp +112 -0
  405. pytexgen-1.0.0/Core/SectionPowerEllipse.h +65 -0
  406. pytexgen-1.0.0/Core/SectionRectangle.cpp +154 -0
  407. pytexgen-1.0.0/Core/SectionRectangle.h +63 -0
  408. pytexgen-1.0.0/Core/SectionRotated.cpp +84 -0
  409. pytexgen-1.0.0/Core/SectionRotated.h +56 -0
  410. pytexgen-1.0.0/Core/SectionScaled.cpp +83 -0
  411. pytexgen-1.0.0/Core/SectionScaled.h +54 -0
  412. pytexgen-1.0.0/Core/ShearedPeriodicBoundaries.cpp +266 -0
  413. pytexgen-1.0.0/Core/ShearedPeriodicBoundaries.h +43 -0
  414. pytexgen-1.0.0/Core/ShearedTextileWeave2D.cpp +1135 -0
  415. pytexgen-1.0.0/Core/ShearedTextileWeave2D.h +96 -0
  416. pytexgen-1.0.0/Core/ShearedVoxelMesh.cpp +114 -0
  417. pytexgen-1.0.0/Core/ShearedVoxelMesh.h +47 -0
  418. pytexgen-1.0.0/Core/ShellElementExport.cpp +372 -0
  419. pytexgen-1.0.0/Core/ShellElementExport.h +84 -0
  420. pytexgen-1.0.0/Core/Shiny.h +33 -0
  421. pytexgen-1.0.0/Core/ShinyConfig.h +84 -0
  422. pytexgen-1.0.0/Core/ShinyData.h +84 -0
  423. pytexgen-1.0.0/Core/ShinyMacros.h +238 -0
  424. pytexgen-1.0.0/Core/ShinyManager.h +236 -0
  425. pytexgen-1.0.0/Core/ShinyNode.h +107 -0
  426. pytexgen-1.0.0/Core/ShinyNodePool.h +60 -0
  427. pytexgen-1.0.0/Core/ShinyOutput.h +57 -0
  428. pytexgen-1.0.0/Core/ShinyPrereqs.h +81 -0
  429. pytexgen-1.0.0/Core/ShinyTools.h +70 -0
  430. pytexgen-1.0.0/Core/ShinyZone.h +87 -0
  431. pytexgen-1.0.0/Core/Simulation.cpp +59 -0
  432. pytexgen-1.0.0/Core/Simulation.h +82 -0
  433. pytexgen-1.0.0/Core/SimulationAbaqus.cpp +1122 -0
  434. pytexgen-1.0.0/Core/SimulationAbaqus.h +315 -0
  435. pytexgen-1.0.0/Core/Singleton.h +48 -0
  436. pytexgen-1.0.0/Core/SlaveNode.cpp +201 -0
  437. pytexgen-1.0.0/Core/SlaveNode.h +101 -0
  438. pytexgen-1.0.0/Core/StaggeredPeriodicBoundaries.cpp +263 -0
  439. pytexgen-1.0.0/Core/StaggeredPeriodicBoundaries.h +46 -0
  440. pytexgen-1.0.0/Core/StaggeredVoxelMesh.cpp +210 -0
  441. pytexgen-1.0.0/Core/StaggeredVoxelMesh.h +45 -0
  442. pytexgen-1.0.0/Core/SurfaceMesh.cpp +77 -0
  443. pytexgen-1.0.0/Core/SurfaceMesh.h +68 -0
  444. pytexgen-1.0.0/Core/TetgenMesh.cpp +361 -0
  445. pytexgen-1.0.0/Core/TetgenMesh.h +68 -0
  446. pytexgen-1.0.0/Core/TexGen.cpp +318 -0
  447. pytexgen-1.0.0/Core/TexGen.h +174 -0
  448. pytexgen-1.0.0/Core/Textile.cpp +1258 -0
  449. pytexgen-1.0.0/Core/Textile.h +347 -0
  450. pytexgen-1.0.0/Core/Textile3DWeave.cpp +2910 -0
  451. pytexgen-1.0.0/Core/Textile3DWeave.h +460 -0
  452. pytexgen-1.0.0/Core/TextileAngleInterlock.cpp +516 -0
  453. pytexgen-1.0.0/Core/TextileAngleInterlock.h +59 -0
  454. pytexgen-1.0.0/Core/TextileDecoupledLToL.cpp +158 -0
  455. pytexgen-1.0.0/Core/TextileDecoupledLToL.h +76 -0
  456. pytexgen-1.0.0/Core/TextileDeformer.cpp +155 -0
  457. pytexgen-1.0.0/Core/TextileDeformer.h +85 -0
  458. pytexgen-1.0.0/Core/TextileDeformerVolumeMesh.cpp +125 -0
  459. pytexgen-1.0.0/Core/TextileDeformerVolumeMesh.h +74 -0
  460. pytexgen-1.0.0/Core/TextileKnit.cpp +59 -0
  461. pytexgen-1.0.0/Core/TextileKnit.h +58 -0
  462. pytexgen-1.0.0/Core/TextileLayerToLayer.cpp +812 -0
  463. pytexgen-1.0.0/Core/TextileLayerToLayer.h +95 -0
  464. pytexgen-1.0.0/Core/TextileLayered.cpp +652 -0
  465. pytexgen-1.0.0/Core/TextileLayered.h +77 -0
  466. pytexgen-1.0.0/Core/TextileOffsetAngleInterlock.cpp +579 -0
  467. pytexgen-1.0.0/Core/TextileOffsetAngleInterlock.h +63 -0
  468. pytexgen-1.0.0/Core/TextileOrthogonal.cpp +2868 -0
  469. pytexgen-1.0.0/Core/TextileOrthogonal.h +177 -0
  470. pytexgen-1.0.0/Core/TextileWeave.cpp +1259 -0
  471. pytexgen-1.0.0/Core/TextileWeave.h +236 -0
  472. pytexgen-1.0.0/Core/TextileWeave2D.cpp +651 -0
  473. pytexgen-1.0.0/Core/TextileWeave2D.h +84 -0
  474. pytexgen-1.0.0/Core/TextileWeave3D.cpp +294 -0
  475. pytexgen-1.0.0/Core/TextileWeave3D.h +81 -0
  476. pytexgen-1.0.0/Core/TextileWeftKnit.cpp +190 -0
  477. pytexgen-1.0.0/Core/TextileWeftKnit.h +77 -0
  478. pytexgen-1.0.0/Core/Timer.h +121 -0
  479. pytexgen-1.0.0/Core/VoxelMesh.cpp +847 -0
  480. pytexgen-1.0.0/Core/VoxelMesh.h +128 -0
  481. pytexgen-1.0.0/Core/Yarn.cpp +1995 -0
  482. pytexgen-1.0.0/Core/Yarn.h +549 -0
  483. pytexgen-1.0.0/Core/YarnSection.cpp +109 -0
  484. pytexgen-1.0.0/Core/YarnSection.h +117 -0
  485. pytexgen-1.0.0/Core/YarnSectionAdjusted.cpp +140 -0
  486. pytexgen-1.0.0/Core/YarnSectionAdjusted.h +74 -0
  487. pytexgen-1.0.0/Core/YarnSectionConstant.cpp +67 -0
  488. pytexgen-1.0.0/Core/YarnSectionConstant.h +55 -0
  489. pytexgen-1.0.0/Core/YarnSectionInterp.cpp +186 -0
  490. pytexgen-1.0.0/Core/YarnSectionInterp.h +61 -0
  491. pytexgen-1.0.0/Core/YarnSectionInterpNode.cpp +350 -0
  492. pytexgen-1.0.0/Core/YarnSectionInterpNode.h +108 -0
  493. pytexgen-1.0.0/Core/YarnSectionInterpPosition.cpp +223 -0
  494. pytexgen-1.0.0/Core/YarnSectionInterpPosition.h +75 -0
  495. pytexgen-1.0.0/Core/mymath.h +1658 -0
  496. pytexgen-1.0.0/Core/tetgen.h +3334 -0
  497. pytexgen-1.0.0/LICENSE +339 -0
  498. pytexgen-1.0.0/LatinHypercube/CMakeLists.txt +2 -0
  499. pytexgen-1.0.0/LatinHypercube/latin_random.cpp +715 -0
  500. pytexgen-1.0.0/LatinHypercube/latin_random.hpp +11 -0
  501. pytexgen-1.0.0/Octree/Array.cpp +42 -0
  502. pytexgen-1.0.0/Octree/Array.hpp +392 -0
  503. pytexgen-1.0.0/Octree/CMakeLists.txt +19 -0
  504. pytexgen-1.0.0/Octree/LICENSE.txt +27 -0
  505. pytexgen-1.0.0/Octree/Octree.cpp +45 -0
  506. pytexgen-1.0.0/Octree/Octree.hpp +633 -0
  507. pytexgen-1.0.0/Octree/OctreeAuxiliary.cpp +296 -0
  508. pytexgen-1.0.0/Octree/OctreeAuxiliary.hpp +415 -0
  509. pytexgen-1.0.0/Octree/OctreeExample.cpp +474 -0
  510. pytexgen-1.0.0/Octree/OctreeImplementation.cpp +725 -0
  511. pytexgen-1.0.0/Octree/OctreeImplementation.hpp +300 -0
  512. pytexgen-1.0.0/Octree/OctreeStreamOut.cpp +300 -0
  513. pytexgen-1.0.0/Octree/OctreeStreamOut.hpp +266 -0
  514. pytexgen-1.0.0/Octree/OctreeTest.cpp +1160 -0
  515. pytexgen-1.0.0/Octree/OctreeTest.hpp +72 -0
  516. pytexgen-1.0.0/Octree/Primitives.hpp +185 -0
  517. pytexgen-1.0.0/Octree/Vector3f.cpp +879 -0
  518. pytexgen-1.0.0/Octree/Vector3f.hpp +240 -0
  519. pytexgen-1.0.0/Octree/build-gcc.bat +27 -0
  520. pytexgen-1.0.0/Octree/build-vc.bat +25 -0
  521. pytexgen-1.0.0/Octree/hxa7241-octree-cpp.readme.txt +133 -0
  522. pytexgen-1.0.0/Octree/hxa7241_general.hpp +61 -0
  523. pytexgen-1.0.0/Octree/hxa7241_graphics.hpp +64 -0
  524. pytexgen-1.0.0/Octree/octree-general-cpp_hxa7241_2005.html +2601 -0
  525. pytexgen-1.0.0/Octree/ogc-class-relations-diagram.png +0 -0
  526. pytexgen-1.0.0/Octree/ogc-visit-sequence-diagram.png +0 -0
  527. pytexgen-1.0.0/OctreeRefinement/include/p4est.h +495 -0
  528. pytexgen-1.0.0/OctreeRefinement/include/p4est_algorithms.h +310 -0
  529. pytexgen-1.0.0/OctreeRefinement/include/p4est_balance.h +65 -0
  530. pytexgen-1.0.0/OctreeRefinement/include/p4est_base.h +482 -0
  531. pytexgen-1.0.0/OctreeRefinement/include/p4est_bits.h +614 -0
  532. pytexgen-1.0.0/OctreeRefinement/include/p4est_communication.h +412 -0
  533. pytexgen-1.0.0/OctreeRefinement/include/p4est_config.h +386 -0
  534. pytexgen-1.0.0/OctreeRefinement/include/p4est_connectivity.h +773 -0
  535. pytexgen-1.0.0/OctreeRefinement/include/p4est_extended.h +399 -0
  536. pytexgen-1.0.0/OctreeRefinement/include/p4est_geometry.h +86 -0
  537. pytexgen-1.0.0/OctreeRefinement/include/p4est_ghost.h +387 -0
  538. pytexgen-1.0.0/OctreeRefinement/include/p4est_io.h +69 -0
  539. pytexgen-1.0.0/OctreeRefinement/include/p4est_iterate.h +294 -0
  540. pytexgen-1.0.0/OctreeRefinement/include/p4est_lnodes.h +391 -0
  541. pytexgen-1.0.0/OctreeRefinement/include/p4est_mesh.h +227 -0
  542. pytexgen-1.0.0/OctreeRefinement/include/p4est_nodes.h +176 -0
  543. pytexgen-1.0.0/OctreeRefinement/include/p4est_plex.h +84 -0
  544. pytexgen-1.0.0/OctreeRefinement/include/p4est_points.h +75 -0
  545. pytexgen-1.0.0/OctreeRefinement/include/p4est_search.h +184 -0
  546. pytexgen-1.0.0/OctreeRefinement/include/p4est_to_p8est.h +453 -0
  547. pytexgen-1.0.0/OctreeRefinement/include/p4est_vtk.h +268 -0
  548. pytexgen-1.0.0/OctreeRefinement/include/p4est_wrap.h +368 -0
  549. pytexgen-1.0.0/OctreeRefinement/include/p6est.h +629 -0
  550. pytexgen-1.0.0/OctreeRefinement/include/p6est_communication.h +114 -0
  551. pytexgen-1.0.0/OctreeRefinement/include/p6est_extended.h +288 -0
  552. pytexgen-1.0.0/OctreeRefinement/include/p6est_ghost.h +199 -0
  553. pytexgen-1.0.0/OctreeRefinement/include/p6est_lnodes.h +284 -0
  554. pytexgen-1.0.0/OctreeRefinement/include/p6est_profile.h +112 -0
  555. pytexgen-1.0.0/OctreeRefinement/include/p6est_vtk.h +174 -0
  556. pytexgen-1.0.0/OctreeRefinement/include/p8est.h +495 -0
  557. pytexgen-1.0.0/OctreeRefinement/include/p8est_algorithms.h +311 -0
  558. pytexgen-1.0.0/OctreeRefinement/include/p8est_balance.h +73 -0
  559. pytexgen-1.0.0/OctreeRefinement/include/p8est_bits.h +716 -0
  560. pytexgen-1.0.0/OctreeRefinement/include/p8est_communication.h +412 -0
  561. pytexgen-1.0.0/OctreeRefinement/include/p8est_connectivity.h +987 -0
  562. pytexgen-1.0.0/OctreeRefinement/include/p8est_extended.h +401 -0
  563. pytexgen-1.0.0/OctreeRefinement/include/p8est_geometry.h +106 -0
  564. pytexgen-1.0.0/OctreeRefinement/include/p8est_ghost.h +386 -0
  565. pytexgen-1.0.0/OctreeRefinement/include/p8est_io.h +69 -0
  566. pytexgen-1.0.0/OctreeRefinement/include/p8est_iterate.h +404 -0
  567. pytexgen-1.0.0/OctreeRefinement/include/p8est_lnodes.h +431 -0
  568. pytexgen-1.0.0/OctreeRefinement/include/p8est_mesh.h +230 -0
  569. pytexgen-1.0.0/OctreeRefinement/include/p8est_nodes.h +220 -0
  570. pytexgen-1.0.0/OctreeRefinement/include/p8est_plex.h +84 -0
  571. pytexgen-1.0.0/OctreeRefinement/include/p8est_points.h +75 -0
  572. pytexgen-1.0.0/OctreeRefinement/include/p8est_search.h +222 -0
  573. pytexgen-1.0.0/OctreeRefinement/include/p8est_tets_hexes.h +88 -0
  574. pytexgen-1.0.0/OctreeRefinement/include/p8est_vtk.h +253 -0
  575. pytexgen-1.0.0/OctreeRefinement/include/p8est_wrap.h +352 -0
  576. pytexgen-1.0.0/OctreeRefinement/include/sc.h +685 -0
  577. pytexgen-1.0.0/OctreeRefinement/include/sc_allgather.h +58 -0
  578. pytexgen-1.0.0/OctreeRefinement/include/sc_amr.h +136 -0
  579. pytexgen-1.0.0/OctreeRefinement/include/sc_avl.h +212 -0
  580. pytexgen-1.0.0/OctreeRefinement/include/sc_blas.h +148 -0
  581. pytexgen-1.0.0/OctreeRefinement/include/sc_bspline.h +168 -0
  582. pytexgen-1.0.0/OctreeRefinement/include/sc_builtin/getopt.h +177 -0
  583. pytexgen-1.0.0/OctreeRefinement/include/sc_builtin/getopt_int.h +130 -0
  584. pytexgen-1.0.0/OctreeRefinement/include/sc_builtin/obstack.h +509 -0
  585. pytexgen-1.0.0/OctreeRefinement/include/sc_config.h +470 -0
  586. pytexgen-1.0.0/OctreeRefinement/include/sc_containers.h +978 -0
  587. pytexgen-1.0.0/OctreeRefinement/include/sc_dmatrix.h +478 -0
  588. pytexgen-1.0.0/OctreeRefinement/include/sc_flops.h +109 -0
  589. pytexgen-1.0.0/OctreeRefinement/include/sc_functions.h +136 -0
  590. pytexgen-1.0.0/OctreeRefinement/include/sc_getopt.h +38 -0
  591. pytexgen-1.0.0/OctreeRefinement/include/sc_io.h +301 -0
  592. pytexgen-1.0.0/OctreeRefinement/include/sc_keyvalue.h +220 -0
  593. pytexgen-1.0.0/OctreeRefinement/include/sc_lapack.h +149 -0
  594. pytexgen-1.0.0/OctreeRefinement/include/sc_lua.h +57 -0
  595. pytexgen-1.0.0/OctreeRefinement/include/sc_mpi.h +416 -0
  596. pytexgen-1.0.0/OctreeRefinement/include/sc_notify.h +61 -0
  597. pytexgen-1.0.0/OctreeRefinement/include/sc_obstack.h +38 -0
  598. pytexgen-1.0.0/OctreeRefinement/include/sc_options.h +341 -0
  599. pytexgen-1.0.0/OctreeRefinement/include/sc_private.h +49 -0
  600. pytexgen-1.0.0/OctreeRefinement/include/sc_ranges.h +115 -0
  601. pytexgen-1.0.0/OctreeRefinement/include/sc_reduce.h +70 -0
  602. pytexgen-1.0.0/OctreeRefinement/include/sc_refcount.h +120 -0
  603. pytexgen-1.0.0/OctreeRefinement/include/sc_search.h +72 -0
  604. pytexgen-1.0.0/OctreeRefinement/include/sc_shmem.h +169 -0
  605. pytexgen-1.0.0/OctreeRefinement/include/sc_sort.h +46 -0
  606. pytexgen-1.0.0/OctreeRefinement/include/sc_statistics.h +165 -0
  607. pytexgen-1.0.0/OctreeRefinement/include/sc_string.h +107 -0
  608. pytexgen-1.0.0/OctreeRefinement/include/sc_unique_counter.h +76 -0
  609. pytexgen-1.0.0/OctreeRefinement/include/sc_warp.h +57 -0
  610. pytexgen-1.0.0/OctreeRefinement/include/unistd.h +61 -0
  611. pytexgen-1.0.0/OctreeRefinement/libp4est.lib +0 -0
  612. pytexgen-1.0.0/OctreeRefinement/libsc.lib +0 -0
  613. pytexgen-1.0.0/PKG-INFO +79 -0
  614. pytexgen-1.0.0/Python/CMakeLists.txt +256 -0
  615. pytexgen-1.0.0/Python/Core.i +375 -0
  616. pytexgen-1.0.0/Python/Core_wrap.h +107 -0
  617. pytexgen-1.0.0/Python/Export.i +44 -0
  618. pytexgen-1.0.0/Python/FindPythonSitePackages.cmake +16 -0
  619. pytexgen-1.0.0/Python/Lib/Abaqus.py +330 -0
  620. pytexgen-1.0.0/Python/Lib/Ansys.py +153 -0
  621. pytexgen-1.0.0/Python/Lib/AnsysExport.txt +17714 -0
  622. pytexgen-1.0.0/Python/Lib/Completer.py +131 -0
  623. pytexgen-1.0.0/Python/Lib/FlowTex.py +70 -0
  624. pytexgen-1.0.0/Python/Lib/GridFile.py +133 -0
  625. pytexgen-1.0.0/Python/Lib/TexGenv2.py +168 -0
  626. pytexgen-1.0.0/Python/Lib/WeavePattern.py +249 -0
  627. pytexgen-1.0.0/Python/Lib/WiseTex.py +194 -0
  628. pytexgen-1.0.0/Python/Lib/dataHandling.py +296 -0
  629. pytexgen-1.0.0/Python/Lib/dataHandlingInPlane.py +205 -0
  630. pytexgen-1.0.0/Python/Lib/effectiveMatPropRVE.py +52 -0
  631. pytexgen-1.0.0/Python/Renderer.i +49 -0
  632. pytexgen-1.0.0/Python/Scripts/2dweave.py +41 -0
  633. pytexgen-1.0.0/Python/Scripts/3dweave.py +49 -0
  634. pytexgen-1.0.0/Python/Scripts/LayeredTextile.py +77 -0
  635. pytexgen-1.0.0/Python/Scripts/LayeredTextile2.py +95 -0
  636. pytexgen-1.0.0/Python/Scripts/cotton.py +79 -0
  637. pytexgen-1.0.0/Python/Scripts/example.py +68 -0
  638. pytexgen-1.0.0/Python/Scripts/polyester.py +67 -0
  639. pytexgen-1.0.0/Python/Tests/AbaqusTest.py +59 -0
  640. pytexgen-1.0.0/Python/Tests/Data/test.cfl +7186 -0
  641. pytexgen-1.0.0/Python/Tests/Data/test.pth +478 -0
  642. pytexgen-1.0.0/Python/Tests/FlowTexTest.py +35 -0
  643. pytexgen-1.0.0/Python/Tests/GridFileTest.py +43 -0
  644. pytexgen-1.0.0/Python/Tests/RunTests.py +15 -0
  645. pytexgen-1.0.0/Python/Tests/TestUtils.py +22 -0
  646. pytexgen-1.0.0/Python/Tests/TexGenv2Test.py +58 -0
  647. pytexgen-1.0.0/Python/Tests/WiseTexTest.py +50 -0
  648. pytexgen-1.0.0/README_pypi.md +48 -0
  649. pytexgen-1.0.0/TexGenConfig.cmake.in +4 -0
  650. pytexgen-1.0.0/Triangle/A.poly +62 -0
  651. pytexgen-1.0.0/Triangle/CMakeLists.txt +80 -0
  652. pytexgen-1.0.0/Triangle/README +198 -0
  653. pytexgen-1.0.0/Triangle/acute.c +3665 -0
  654. pytexgen-1.0.0/Triangle/eps_writer.c +242 -0
  655. pytexgen-1.0.0/Triangle/makefile +116 -0
  656. pytexgen-1.0.0/Triangle/predicates.c +1787 -0
  657. pytexgen-1.0.0/Triangle/private/acute.h +31 -0
  658. pytexgen-1.0.0/Triangle/private/acute_internal.h +38 -0
  659. pytexgen-1.0.0/Triangle/private/eps_writer.h +25 -0
  660. pytexgen-1.0.0/Triangle/private/predicates.h +42 -0
  661. pytexgen-1.0.0/Triangle/private/triangle_helper.h +12 -0
  662. pytexgen-1.0.0/Triangle/private/triangle_internal.h +460 -0
  663. pytexgen-1.0.0/Triangle/showme.c +3375 -0
  664. pytexgen-1.0.0/Triangle/triangle.c +8190 -0
  665. pytexgen-1.0.0/Triangle/triangle.h +1091 -0
  666. pytexgen-1.0.0/Triangle/triangle_api.c +557 -0
  667. pytexgen-1.0.0/Triangle/triangle_api.h +245 -0
  668. pytexgen-1.0.0/Triangle/triangle_config.h +168 -0
  669. pytexgen-1.0.0/Triangle/triangle_export.h +42 -0
  670. pytexgen-1.0.0/Triangle/triangle_helper.c +97 -0
  671. pytexgen-1.0.0/Triangle/triangle_io.c +875 -0
  672. pytexgen-1.0.0/Triangle/triangle_version.h +21 -0
  673. pytexgen-1.0.0/Triangle/triangle_version.h.in +21 -0
  674. pytexgen-1.0.0/Triangle/tricall.c +273 -0
  675. pytexgen-1.0.0/pyproject.toml +96 -0
  676. pytexgen-1.0.0/src/pytexgen/__init__.py +43 -0
  677. pytexgen-1.0.0/src/pytexgen/py.typed +0 -0
  678. pytexgen-1.0.0/test_write.txt +0 -0
  679. pytexgen-1.0.0/tetgenlib/CMakeLists.txt +22 -0
  680. pytexgen-1.0.0/tetgenlib/LICENSE +666 -0
  681. pytexgen-1.0.0/tetgenlib/README +25 -0
  682. pytexgen-1.0.0/tetgenlib/ReadMe.txt +30 -0
  683. pytexgen-1.0.0/tetgenlib/example.poly +84 -0
  684. pytexgen-1.0.0/tetgenlib/makefile +62 -0
  685. pytexgen-1.0.0/tetgenlib/predicates.cxx +4706 -0
  686. pytexgen-1.0.0/tetgenlib/stdafx.cpp +8 -0
  687. pytexgen-1.0.0/tetgenlib/stdafx.h +14 -0
  688. pytexgen-1.0.0/tetgenlib/targetver.h +13 -0
  689. pytexgen-1.0.0/tetgenlib/tetgen.cxx +31244 -0
  690. pytexgen-1.0.0/tetgenlib/tetgen.h +3334 -0
  691. pytexgen-1.0.0/tetgenlib/tetgenlib.vcproj +211 -0
  692. pytexgen-1.0.0/tetgenlib/tetgenlib.vcproj.AD.epzlpb.user +65 -0
  693. pytexgen-1.0.0/tinyxml/CMakeLists.txt +11 -0
  694. pytexgen-1.0.0/tinyxml/Makefile +208 -0
  695. pytexgen-1.0.0/tinyxml/changes.txt +254 -0
  696. pytexgen-1.0.0/tinyxml/docs/annotated.html +39 -0
  697. pytexgen-1.0.0/tinyxml/docs/classTiXmlAttribute-members.html +53 -0
  698. pytexgen-1.0.0/tinyxml/docs/classTiXmlAttribute.html +181 -0
  699. pytexgen-1.0.0/tinyxml/docs/classTiXmlAttribute.png +0 -0
  700. pytexgen-1.0.0/tinyxml/docs/classTiXmlBase-members.html +35 -0
  701. pytexgen-1.0.0/tinyxml/docs/classTiXmlBase.html +196 -0
  702. pytexgen-1.0.0/tinyxml/docs/classTiXmlBase.png +0 -0
  703. pytexgen-1.0.0/tinyxml/docs/classTiXmlComment-members.html +99 -0
  704. pytexgen-1.0.0/tinyxml/docs/classTiXmlComment.html +108 -0
  705. pytexgen-1.0.0/tinyxml/docs/classTiXmlComment.png +0 -0
  706. pytexgen-1.0.0/tinyxml/docs/classTiXmlDeclaration-members.html +103 -0
  707. pytexgen-1.0.0/tinyxml/docs/classTiXmlDeclaration.html +129 -0
  708. pytexgen-1.0.0/tinyxml/docs/classTiXmlDeclaration.png +0 -0
  709. pytexgen-1.0.0/tinyxml/docs/classTiXmlDocument-members.html +118 -0
  710. pytexgen-1.0.0/tinyxml/docs/classTiXmlDocument.html +430 -0
  711. pytexgen-1.0.0/tinyxml/docs/classTiXmlDocument.png +0 -0
  712. pytexgen-1.0.0/tinyxml/docs/classTiXmlElement-members.html +115 -0
  713. pytexgen-1.0.0/tinyxml/docs/classTiXmlElement.html +419 -0
  714. pytexgen-1.0.0/tinyxml/docs/classTiXmlElement.png +0 -0
  715. pytexgen-1.0.0/tinyxml/docs/classTiXmlHandle-members.html +44 -0
  716. pytexgen-1.0.0/tinyxml/docs/classTiXmlHandle.html +419 -0
  717. pytexgen-1.0.0/tinyxml/docs/classTiXmlNode-members.html +97 -0
  718. pytexgen-1.0.0/tinyxml/docs/classTiXmlNode.html +780 -0
  719. pytexgen-1.0.0/tinyxml/docs/classTiXmlNode.png +0 -0
  720. pytexgen-1.0.0/tinyxml/docs/classTiXmlPrinter-members.html +42 -0
  721. pytexgen-1.0.0/tinyxml/docs/classTiXmlPrinter.html +184 -0
  722. pytexgen-1.0.0/tinyxml/docs/classTiXmlPrinter.png +0 -0
  723. pytexgen-1.0.0/tinyxml/docs/classTiXmlText-members.html +101 -0
  724. pytexgen-1.0.0/tinyxml/docs/classTiXmlText.html +145 -0
  725. pytexgen-1.0.0/tinyxml/docs/classTiXmlText.png +0 -0
  726. pytexgen-1.0.0/tinyxml/docs/classTiXmlUnknown-members.html +97 -0
  727. pytexgen-1.0.0/tinyxml/docs/classTiXmlUnknown.html +103 -0
  728. pytexgen-1.0.0/tinyxml/docs/classTiXmlUnknown.png +0 -0
  729. pytexgen-1.0.0/tinyxml/docs/classTiXmlVisitor-members.html +34 -0
  730. pytexgen-1.0.0/tinyxml/docs/classTiXmlVisitor.html +84 -0
  731. pytexgen-1.0.0/tinyxml/docs/classTiXmlVisitor.png +0 -0
  732. pytexgen-1.0.0/tinyxml/docs/deprecated.html +38 -0
  733. pytexgen-1.0.0/tinyxml/docs/doxygen.css +358 -0
  734. pytexgen-1.0.0/tinyxml/docs/doxygen.png +0 -0
  735. pytexgen-1.0.0/tinyxml/docs/files.html +23 -0
  736. pytexgen-1.0.0/tinyxml/docs/functions.html +195 -0
  737. pytexgen-1.0.0/tinyxml/docs/functions_enum.html +39 -0
  738. pytexgen-1.0.0/tinyxml/docs/functions_func.html +188 -0
  739. pytexgen-1.0.0/tinyxml/docs/functions_rela.html +40 -0
  740. pytexgen-1.0.0/tinyxml/docs/functions_vars.html +39 -0
  741. pytexgen-1.0.0/tinyxml/docs/hierarchy.html +45 -0
  742. pytexgen-1.0.0/tinyxml/docs/index.html +275 -0
  743. pytexgen-1.0.0/tinyxml/docs/pages.html +23 -0
  744. pytexgen-1.0.0/tinyxml/docs/tab_b.gif +0 -0
  745. pytexgen-1.0.0/tinyxml/docs/tab_l.gif +0 -0
  746. pytexgen-1.0.0/tinyxml/docs/tab_r.gif +0 -0
  747. pytexgen-1.0.0/tinyxml/docs/tabs.css +102 -0
  748. pytexgen-1.0.0/tinyxml/docs/tinystr_8h-source.html +338 -0
  749. pytexgen-1.0.0/tinyxml/docs/tinyxml_8h-source.html +1180 -0
  750. pytexgen-1.0.0/tinyxml/docs/tutorial0.html +721 -0
  751. pytexgen-1.0.0/tinyxml/echo.dsp +113 -0
  752. pytexgen-1.0.0/tinyxml/readme.txt +530 -0
  753. pytexgen-1.0.0/tinyxml/tinyXmlTest.dsp +92 -0
  754. pytexgen-1.0.0/tinyxml/tinyXmlTestSTL.dsp +92 -0
  755. pytexgen-1.0.0/tinyxml/tinystr.cpp +116 -0
  756. pytexgen-1.0.0/tinyxml/tinystr.h +319 -0
  757. pytexgen-1.0.0/tinyxml/tinyxml.cpp +1866 -0
  758. pytexgen-1.0.0/tinyxml/tinyxml.dsw +71 -0
  759. pytexgen-1.0.0/tinyxml/tinyxml.h +1776 -0
  760. pytexgen-1.0.0/tinyxml/tinyxmlSTL.dsp +126 -0
  761. pytexgen-1.0.0/tinyxml/tinyxml_lib.dsp +130 -0
  762. pytexgen-1.0.0/tinyxml/tinyxmlerror.cpp +53 -0
  763. pytexgen-1.0.0/tinyxml/tinyxmlparser.cpp +1606 -0
  764. pytexgen-1.0.0/tinyxml/utf8test.gif +0 -0
  765. pytexgen-1.0.0/tinyxml/utf8test.xml +11 -0
  766. pytexgen-1.0.0/tinyxml/utf8testverify.xml +11 -0
  767. pytexgen-1.0.0/tinyxml/xmltest.cpp +1227 -0
  768. pytexgen-1.0.0/units/CHANGES +62 -0
  769. pytexgen-1.0.0/units/Makefile.in +404 -0
  770. pytexgen-1.0.0/units/README +121 -0
  771. pytexgen-1.0.0/units/aclocal.m4 +1 -0
  772. pytexgen-1.0.0/units/configure +1999 -0
  773. pytexgen-1.0.0/units/configure.in +275 -0
  774. pytexgen-1.0.0/units/install-sh +119 -0
  775. pytexgen-1.0.0/units/license.terms +38 -0
  776. pytexgen-1.0.0/units/manpage.css +185 -0
  777. pytexgen-1.0.0/units/mkinstalldirs +40 -0
  778. pytexgen-1.0.0/units/pkgIndex.tcl +29 -0
  779. pytexgen-1.0.0/units/tcl.m4 +1995 -0
  780. pytexgen-1.0.0/units/units.c +1276 -0
  781. pytexgen-1.0.0/units/units.h +197 -0
  782. pytexgen-1.0.0/units/units.html +355 -0
  783. pytexgen-1.0.0/units/units.i +469 -0
  784. pytexgen-1.0.0/units/units.mdl +4670 -0
  785. pytexgen-1.0.0/units/units.n +487 -0
  786. pytexgen-1.0.0/units/units.tcl +690 -0
  787. pytexgen-1.0.0/units/units.test +522 -0
  788. pytexgen-1.0.0/units/units.xml +419 -0
  789. pytexgen-1.0.0/units/units_wrap.c +1708 -0
@@ -0,0 +1,10 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(xargs -0 ls -1)",
5
+ "Bash(grep -rn \"def.*/$\\\\|def.*/, \" /e/Code/TexGen-master --include=\"*.py\")",
6
+ "Bash(find /e/Code/TexGen-master -name \"*.py\" -exec grep -l \"typing\\\\|Type\\\\|Optional\\\\|List\\\\|Dict\\\\|Tuple\" {} \\\\;)",
7
+ "Bash(grep -rn \"\\\\.pyi$\\\\|__annotations__\" /e/Code/TexGen-master --include=\"*.py\")"
8
+ ]
9
+ }
10
+ }
@@ -0,0 +1,23 @@
1
+ # Build artifacts
2
+ build/
3
+ dist/
4
+ *.egg-info/
5
+ __pycache__/
6
+ *.pyc
7
+ *.pyo
8
+ *.so
9
+ *.pyd
10
+ *.dll
11
+
12
+ # IDE
13
+ .vscode/
14
+ .idea/
15
+ *.swp
16
+
17
+ # OS
18
+ .DS_Store
19
+ Thumbs.db
20
+
21
+ # Generated SWIG files
22
+ Python/Core_wrap.cxx
23
+ Python/Core.py
@@ -0,0 +1,96 @@
1
+ CMAKE_MINIMUM_REQUIRED(VERSION 3.17)
2
+ PROJECT(TexGen LANGUAGES C CXX)
3
+
4
+ # ============================================================================
5
+ # scikit-build-core detection
6
+ # When building via `pip install .` or `python -m build`, SKBUILD is set
7
+ # automatically by scikit-build-core.
8
+ # ============================================================================
9
+ if(DEFINED SKBUILD)
10
+ message(STATUS "Building via scikit-build-core (wheel mode)")
11
+ # In wheel mode, find the Python interpreter that scikit-build-core provides
12
+ find_package(Python REQUIRED COMPONENTS Interpreter Development.Module)
13
+ endif()
14
+
15
+ # ============================================================================
16
+ # Compiler flags
17
+ # ============================================================================
18
+ ADD_DEFINITIONS(-DSWIG_NO_CRT_SECURE_NO_DEPRECATE)
19
+ IF(MSVC)
20
+ ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE)
21
+ ENDIF()
22
+
23
+ IF(UNIX)
24
+ ADD_DEFINITIONS(-Wno-deprecated)
25
+ # Ensure all static libs are built with PIC so they can link into shared _Core
26
+ SET(CMAKE_POSITION_INDEPENDENT_CODE ON)
27
+ ENDIF()
28
+
29
+ # ============================================================================
30
+ # Output paths
31
+ # ============================================================================
32
+ IF(WIN32)
33
+ SET(REAL_OUTPUT_PATH ${TexGen_BINARY_DIR}/$(OutDir))
34
+ ELSE()
35
+ SET(REAL_OUTPUT_PATH ${TexGen_BINARY_DIR})
36
+ ENDIF()
37
+
38
+ # ============================================================================
39
+ # Build options
40
+ # ============================================================================
41
+ SET(BUILD_RENDERER ON CACHE BOOL "Enable rendering using VTK.")
42
+ SET(BUILD_PYTHON_INTERFACE ON CACHE BOOL "Enable the Python interface.")
43
+ SET(BUILD_GUI ON CACHE BOOL "Build the graphical user interface.")
44
+ SET(BUILD_EXAMPLES OFF CACHE BOOL "Build the examples.")
45
+ SET(BUILD_UNIT_TESTS OFF CACHE BOOL "Build the unit tests to ensure the software is working as expected.")
46
+ SET(BUILD_CASCADE_EXPORT OFF CACHE BOOL "Build module to export geometry to Open CASCADE.")
47
+ SET(BUILD_SHARED ON CACHE BOOL "Build shared libraries (set OFF for wheel packaging)")
48
+ SET(BUILD_DOCUMENTATION OFF CACHE BOOL "Build documentation using doxygen")
49
+ SET(BUILD_PROFILE OFF CACHE BOOL "Build profiling")
50
+
51
+ IF(BUILD_GUI)
52
+ IF(NOT BUILD_RENDERER)
53
+ MESSAGE("The renderer is needed in order to build the graphical user interface.\nSet BUILD_RENDERER ON.")
54
+ ENDIF()
55
+ IF(NOT BUILD_PYTHON_INTERFACE)
56
+ MESSAGE("The Python interface is needed in order to build the graphical user interface.\nSet BUILD_PYTHON_INTERFACE ON.")
57
+ ENDIF()
58
+ ENDIF()
59
+
60
+ # ============================================================================
61
+ # Subdirectories - core C++ libraries (always built as static for bundling)
62
+ # ============================================================================
63
+ ADD_SUBDIRECTORY(Core)
64
+ ADD_SUBDIRECTORY(Triangle)
65
+ ADD_SUBDIRECTORY(Octree)
66
+ ADD_SUBDIRECTORY(tinyxml)
67
+ ADD_SUBDIRECTORY(CSparse)
68
+ ADD_SUBDIRECTORY(tetgenlib)
69
+ ADD_SUBDIRECTORY(LatinHypercube)
70
+
71
+ IF(BUILD_RENDERER)
72
+ ADD_SUBDIRECTORY(Renderer)
73
+ ENDIF()
74
+ IF(BUILD_CASCADE_EXPORT)
75
+ ADD_SUBDIRECTORY(Export)
76
+ ENDIF()
77
+ IF(BUILD_PYTHON_INTERFACE)
78
+ ADD_SUBDIRECTORY(Python)
79
+ ENDIF()
80
+ IF(BUILD_GUI)
81
+ ADD_SUBDIRECTORY(GUI)
82
+ ENDIF()
83
+ IF(BUILD_EXAMPLES)
84
+ ADD_SUBDIRECTORY(Examples)
85
+ ENDIF()
86
+ IF(BUILD_UNIT_TESTS)
87
+ ADD_SUBDIRECTORY(UnitTests)
88
+ ENDIF()
89
+ IF(BUILD_PROFILE)
90
+ ADD_SUBDIRECTORY(ProfileTests)
91
+ ENDIF()
92
+
93
+ SET(LIBRARY_OUTPUT_PATH ${TexGen_BINARY_DIR} CACHE INTERNAL "Single output directory for building all libraries.")
94
+ SET(EXECUTABLE_OUTPUT_PATH ${TexGen_BINARY_DIR} CACHE INTERNAL "Single output directory for building all executables.")
95
+ CONFIGURE_FILE(${TexGen_SOURCE_DIR}/TexGenConfig.cmake.in
96
+ ${TexGen_BINARY_DIR}/TexGenConfig.cmake)
@@ -0,0 +1,5 @@
1
+ FILE(GLOB CSPARSE_SOURCE_FILES Source/*.c)
2
+
3
+ ADD_LIBRARY(CSparse STATIC ${CSPARSE_SOURCE_FILES} Include/cs.h)
4
+ SET_TARGET_PROPERTIES(CSparse PROPERTIES POSITION_INDEPENDENT_CODE ON)
5
+ INCLUDE_DIRECTORIES(Include)
@@ -0,0 +1,39 @@
1
+ CC = cc
2
+ CFLAGS = -O
3
+
4
+ I = -I../Include
5
+
6
+ CS = ../Lib/libcsparse.a
7
+
8
+ all: lib cs_demo1 cs_demo2 cs_demo3
9
+ - ./cs_demo1 < ../Matrix/t1
10
+ - ./cs_demo2 < ../Matrix/t1
11
+ - ./cs_demo2 < ../Matrix/ash219
12
+ - ./cs_demo2 < ../Matrix/bcsstk01
13
+ - ./cs_demo2 < ../Matrix/fs_183_1
14
+ - ./cs_demo2 < ../Matrix/mbeacxc
15
+ - ./cs_demo2 < ../Matrix/west0067
16
+ - ./cs_demo2 < ../Matrix/lp_afiro
17
+ - ./cs_demo2 < ../Matrix/bcsstk16
18
+ - ./cs_demo3 < ../Matrix/bcsstk01
19
+ - ./cs_demo3 < ../Matrix/bcsstk16
20
+
21
+ lib:
22
+ ( cd ../Lib ; $(MAKE) )
23
+
24
+ cs_demo1: lib cs_demo1.c Makefile
25
+ $(CC) $(CFLAGS) $(I) -o cs_demo1 cs_demo1.c $(CS) -lm
26
+
27
+ cs_demo2: lib cs_demo2.c cs_demo.c cs_demo.h Makefile
28
+ $(CC) $(CFLAGS) $(I) -o cs_demo2 cs_demo2.c cs_demo.c $(CS) -lm
29
+
30
+ cs_demo3: lib cs_demo3.c cs_demo.c cs_demo.h Makefile
31
+ $(CC) $(CFLAGS) $(I) -o cs_demo3 cs_demo3.c cs_demo.c $(CS) -lm
32
+
33
+ clean:
34
+ rm -f *.o
35
+
36
+ purge: distclean
37
+
38
+ distclean: clean
39
+ rm -f cs_demo1 cs_demo2 cs_demo3 *.a
@@ -0,0 +1,4 @@
1
+ CSparse/Demo: to compile a run the demos, just type "make" in this directory.
2
+ The printed residuals should all be small, except for the mbeacxc matrix
3
+ (which is numerically and structurally singular), and ash219 (which is a
4
+ least-squares problem). See cs_demo.out for the proper output of "make".
@@ -0,0 +1,286 @@
1
+ #include "cs_demo.h"
2
+ #include <time.h>
3
+ /* 1 if A is square & upper tri., -1 if square & lower tri., 0 otherwise */
4
+ static int is_sym (cs *A)
5
+ {
6
+ int is_upper, is_lower, j, p, n = A->n, m = A->m, *Ap = A->p, *Ai = A->i ;
7
+ if (m != n) return (0) ;
8
+ is_upper = 1 ;
9
+ is_lower = 1 ;
10
+ for (j = 0 ; j < n ; j++)
11
+ {
12
+ for (p = Ap [j] ; p < Ap [j+1] ; p++)
13
+ {
14
+ if (Ai [p] > j) is_upper = 0 ;
15
+ if (Ai [p] < j) is_lower = 0 ;
16
+ }
17
+ }
18
+ return (is_upper ? 1 : (is_lower ? -1 : 0)) ;
19
+ }
20
+
21
+ /* true for off-diagonal entries */
22
+ static int dropdiag (int i, int j, double aij, void *other) { return (i != j) ;}
23
+
24
+ /* C = A + triu(A,1)' */
25
+ static cs *make_sym (cs *A)
26
+ {
27
+ cs *AT, *C ;
28
+ AT = cs_transpose (A, 1) ; /* AT = A' */
29
+ cs_fkeep (AT, &dropdiag, NULL) ; /* drop diagonal entries from AT */
30
+ C = cs_add (A, AT, 1, 1) ; /* C = A+AT */
31
+ cs_spfree (AT) ;
32
+ return (C) ;
33
+ }
34
+
35
+ /* create a right-hand side */
36
+ static void rhs (double *x, double *b, int m)
37
+ {
38
+ int i ;
39
+ for (i = 0 ; i < m ; i++) b [i] = 1 + ((double) i) / m ;
40
+ for (i = 0 ; i < m ; i++) x [i] = b [i] ;
41
+ }
42
+
43
+ /* infinity-norm of x */
44
+ static double norm (double *x, int n)
45
+ {
46
+ int i ;
47
+ double normx = 0 ;
48
+ for (i = 0 ; i < n ; i++) normx = CS_MAX (normx, fabs (x [i])) ;
49
+ return (normx) ;
50
+ }
51
+
52
+ /* compute residual, norm(A*x-b,inf) / (norm(A,1)*norm(x,inf) + norm(b,inf)) */
53
+ static void print_resid (int ok, cs *A, double *x, double *b, double *resid)
54
+ {
55
+ int i, m, n ;
56
+ if (!ok) { printf (" (failed)\n") ; return ; }
57
+ m = A->m ; n = A->n ;
58
+ for (i = 0 ; i < m ; i++) resid [i] = -b [i] ; /* resid = -b */
59
+ cs_gaxpy (A, x, resid) ; /* resid = resid + A*x */
60
+ printf ("resid: %8.2e\n", norm (resid,m) / ((n == 0) ? 1 :
61
+ (cs_norm (A) * norm (x,n) + norm (b,m)))) ;
62
+ }
63
+
64
+ static double tic (void) { return (clock () / (double) CLOCKS_PER_SEC) ; }
65
+ static double toc (double t) { double s = tic () ; return (CS_MAX (0, s-t)) ; }
66
+
67
+ static void print_order (int order)
68
+ {
69
+ switch (order)
70
+ {
71
+ case 0: printf ("natural ") ; break ;
72
+ case 1: printf ("amd(A+A') ") ; break ;
73
+ case 2: printf ("amd(S'*S) ") ; break ;
74
+ case 3: printf ("amd(A'*A) ") ; break ;
75
+ }
76
+ }
77
+
78
+ /* read a problem from a file */
79
+ problem *get_problem (FILE *f, double tol)
80
+ {
81
+ cs *T, *A, *C ;
82
+ int sym, m, n, mn, nz1, nz2 ;
83
+ problem *Prob ;
84
+ Prob = cs_calloc (1, sizeof (problem)) ;
85
+ if (!Prob) return (NULL) ;
86
+ T = cs_load (f) ; /* load triplet matrix T from a file */
87
+ Prob->A = A = cs_compress (T) ; /* A = compressed-column form of T */
88
+ cs_spfree (T) ; /* clear T */
89
+ if (!cs_dupl (A)) return (free_problem (Prob)) ; /* sum up duplicates */
90
+ Prob->sym = sym = is_sym (A) ; /* determine if A is symmetric */
91
+ m = A->m ; n = A->n ;
92
+ mn = CS_MAX (m,n) ;
93
+ nz1 = A->p [n] ;
94
+ cs_dropzeros (A) ; /* drop zero entries */
95
+ nz2 = A->p [n] ;
96
+ if (tol > 0) cs_droptol (A, tol) ; /* drop tiny entries (just to test) */
97
+ Prob->C = C = sym ? make_sym (A) : A ; /* C = A + triu(A,1)', or C=A */
98
+ if (!C) return (free_problem (Prob)) ;
99
+ printf ("\n--- Matrix: %d-by-%d, nnz: %d (sym: %d: nnz %d), norm: %8.2e\n",
100
+ m, n, A->p [n], sym, sym ? C->p [n] : 0, cs_norm (C)) ;
101
+ if (nz1 != nz2) printf ("zero entries dropped: %d\n", nz1 - nz2) ;
102
+ if (nz2 != A->p [n]) printf ("tiny entries dropped: %d\n", nz2 - A->p [n]) ;
103
+ Prob->b = cs_malloc (mn, sizeof (double)) ;
104
+ Prob->x = cs_malloc (mn, sizeof (double)) ;
105
+ Prob->resid = cs_malloc (mn, sizeof (double)) ;
106
+ return ((!Prob->b || !Prob->x || !Prob->resid) ? free_problem (Prob) : Prob) ;
107
+ }
108
+
109
+ /* free a problem */
110
+ problem *free_problem (problem *Prob)
111
+ {
112
+ if (!Prob) return (NULL) ;
113
+ cs_spfree (Prob->A) ;
114
+ if (Prob->sym) cs_spfree (Prob->C) ;
115
+ cs_free (Prob->b) ;
116
+ cs_free (Prob->x) ;
117
+ cs_free (Prob->resid) ;
118
+ return (cs_free (Prob)) ;
119
+ }
120
+
121
+ /* solve a linear system using Cholesky, LU, and QR, with various orderings */
122
+ int demo2 (problem *Prob)
123
+ {
124
+ cs *A, *C ;
125
+ double *b, *x, *resid, t, tol ;
126
+ int k, m, n, ok, order, nb, ns, *r, *s, *rr, sprank ;
127
+ csd *D ;
128
+ if (!Prob) return (0) ;
129
+ A = Prob->A ; C = Prob->C ; b = Prob->b ; x = Prob->x ; resid = Prob->resid;
130
+ m = A->m ; n = A->n ;
131
+ tol = Prob->sym ? 0.001 : 1 ; /* partial pivoting tolerance */
132
+ D = cs_dmperm (C, 1) ; /* randomized dmperm analysis */
133
+ if (!D) return (0) ;
134
+ nb = D->nb ; r = D->r ; s = D->s ; rr = D->rr ;
135
+ sprank = rr [3] ;
136
+ for (ns = 0, k = 0 ; k < nb ; k++)
137
+ {
138
+ ns += ((r [k+1] == r [k]+1) && (s [k+1] == s [k]+1)) ;
139
+ }
140
+ printf ("blocks: %d singletons: %d structural rank: %d\n", nb, ns, sprank) ;
141
+ cs_dfree (D) ;
142
+ for (order = 0 ; order <= 3 ; order += 3) /* natural and amd(A'*A) */
143
+ {
144
+ if (!order && m > 1000) continue ;
145
+ printf ("QR ") ;
146
+ print_order (order) ;
147
+ rhs (x, b, m) ; /* compute right-hand side */
148
+ t = tic () ;
149
+ ok = cs_qrsol (order, C, x) ; /* min norm(Ax-b) with QR */
150
+ printf ("time: %8.2f ", toc (t)) ;
151
+ print_resid (ok, C, x, b, resid) ; /* print residual */
152
+ }
153
+ if (m != n || sprank < n) return (1) ; /* return if rect. or singular*/
154
+ for (order = 0 ; order <= 3 ; order++) /* try all orderings */
155
+ {
156
+ if (!order && m > 1000) continue ;
157
+ printf ("LU ") ;
158
+ print_order (order) ;
159
+ rhs (x, b, m) ; /* compute right-hand side */
160
+ t = tic () ;
161
+ ok = cs_lusol (order, C, x, tol) ; /* solve Ax=b with LU */
162
+ printf ("time: %8.2f ", toc (t)) ;
163
+ print_resid (ok, C, x, b, resid) ; /* print residual */
164
+ }
165
+ if (!Prob->sym) return (1) ;
166
+ for (order = 0 ; order <= 1 ; order++) /* natural and amd(A+A') */
167
+ {
168
+ if (!order && m > 1000) continue ;
169
+ printf ("Chol ") ;
170
+ print_order (order) ;
171
+ rhs (x, b, m) ; /* compute right-hand side */
172
+ t = tic () ;
173
+ ok = cs_cholsol (order, C, x) ; /* solve Ax=b with Cholesky */
174
+ printf ("time: %8.2f ", toc (t)) ;
175
+ print_resid (ok, C, x, b, resid) ; /* print residual */
176
+ }
177
+ return (1) ;
178
+ }
179
+
180
+ /* free workspace for demo3 */
181
+ static int done3 (int ok, css *S, csn *N, double *y, cs *W, cs *E, int *p)
182
+ {
183
+ cs_sfree (S) ;
184
+ cs_nfree (N) ;
185
+ cs_free (y) ;
186
+ cs_spfree (W) ;
187
+ cs_spfree (E) ;
188
+ cs_free (p) ;
189
+ return (ok) ;
190
+ }
191
+
192
+ /* Cholesky update/downdate */
193
+ int demo3 (problem *Prob)
194
+ {
195
+ cs *A, *C, *W = NULL, *WW, *WT, *E = NULL, *W2 ;
196
+ int n, k, *Li, *Lp, *Wi, *Wp, p1, p2, *p = NULL, ok ;
197
+ double *b, *x, *resid, *y = NULL, *Lx, *Wx, s, t, t1 ;
198
+ css *S = NULL ;
199
+ csn *N = NULL ;
200
+ if (!Prob || !Prob->sym || Prob->A->n == 0) return (0) ;
201
+ A = Prob->A ; C = Prob->C ; b = Prob->b ; x = Prob->x ; resid = Prob->resid;
202
+ n = A->n ;
203
+ if (!Prob->sym || n == 0) return (1) ;
204
+ rhs (x, b, n) ; /* compute right-hand side */
205
+ printf ("\nchol then update/downdate ") ;
206
+ print_order (1) ;
207
+ y = cs_malloc (n, sizeof (double)) ;
208
+ t = tic () ;
209
+ S = cs_schol (1, C) ; /* symbolic Chol, amd(A+A') */
210
+ printf ("\nsymbolic chol time %8.2f\n", toc (t)) ;
211
+ t = tic () ;
212
+ N = cs_chol (C, S) ; /* numeric Cholesky */
213
+ printf ("numeric chol time %8.2f\n", toc (t)) ;
214
+ if (!S || !N || !y) return (done3 (0, S, N, y, W, E, p)) ;
215
+ t = tic () ;
216
+ cs_ipvec (S->pinv, b, y, n) ; /* y = P*b */
217
+ cs_lsolve (N->L, y) ; /* y = L\y */
218
+ cs_ltsolve (N->L, y) ; /* y = L'\y */
219
+ cs_pvec (S->pinv, y, x, n) ; /* x = P'*y */
220
+ printf ("solve chol time %8.2f\n", toc (t)) ;
221
+ printf ("original: ") ;
222
+ print_resid (1, C, x, b, resid) ; /* print residual */
223
+ k = n/2 ; /* construct W */
224
+ W = cs_spalloc (n, 1, n, 1, 0) ;
225
+ if (!W) return (done3 (0, S, N, y, W, E, p)) ;
226
+ Lp = N->L->p ; Li = N->L->i ; Lx = N->L->x ;
227
+ Wp = W->p ; Wi = W->i ; Wx = W->x ;
228
+ Wp [0] = 0 ;
229
+ p1 = Lp [k] ;
230
+ Wp [1] = Lp [k+1] - p1 ;
231
+ s = Lx [p1] ;
232
+ srand (1) ;
233
+ for ( ; p1 < Lp [k+1] ; p1++)
234
+ {
235
+ p2 = p1 - Lp [k] ;
236
+ Wi [p2] = Li [p1] ;
237
+ Wx [p2] = s * rand () / ((double) RAND_MAX) ;
238
+ }
239
+ t = tic () ;
240
+ ok = cs_updown (N->L, +1, W, S->parent) ; /* update: L*L'+W*W' */
241
+ t1 = toc (t) ;
242
+ printf ("update: time: %8.2f\n", t1) ;
243
+ if (!ok) return (done3 (0, S, N, y, W, E, p)) ;
244
+ t = tic () ;
245
+ cs_ipvec (S->pinv, b, y, n) ; /* y = P*b */
246
+ cs_lsolve (N->L, y) ; /* y = L\y */
247
+ cs_ltsolve (N->L, y) ; /* y = L'\y */
248
+ cs_pvec (S->pinv, y, x, n) ; /* x = P'*y */
249
+ t = toc (t) ;
250
+ p = cs_pinv (S->pinv, n) ;
251
+ W2 = cs_permute (W, p, NULL, 1) ; /* E = C + (P'W)*(P'W)' */
252
+ WT = cs_transpose (W2,1) ;
253
+ WW = cs_multiply (W2, WT) ;
254
+ cs_spfree (WT) ;
255
+ cs_spfree (W2) ;
256
+ E = cs_add (C, WW, 1, 1) ;
257
+ cs_spfree (WW) ;
258
+ if (!E || !p) return (done3 (0, S, N, y, W, E, p)) ;
259
+ printf ("update: time: %8.2f (incl solve) ", t1+t) ;
260
+ print_resid (1, E, x, b, resid) ; /* print residual */
261
+ cs_nfree (N) ; /* clear N */
262
+ t = tic () ;
263
+ N = cs_chol (E, S) ; /* numeric Cholesky */
264
+ if (!N) return (done3 (0, S, N, y, W, E, p)) ;
265
+ cs_ipvec (S->pinv, b, y, n) ; /* y = P*b */
266
+ cs_lsolve (N->L, y) ; /* y = L\y */
267
+ cs_ltsolve (N->L, y) ; /* y = L'\y */
268
+ cs_pvec (S->pinv, y, x, n) ; /* x = P'*y */
269
+ t = toc (t) ;
270
+ printf ("rechol: time: %8.2f (incl solve) ", t) ;
271
+ print_resid (1, E, x, b, resid) ; /* print residual */
272
+ t = tic () ;
273
+ ok = cs_updown (N->L, -1, W, S->parent) ; /* downdate: L*L'-W*W' */
274
+ t1 = toc (t) ;
275
+ if (!ok) return (done3 (0, S, N, y, W, E, p)) ;
276
+ printf ("downdate: time: %8.2f\n", t1) ;
277
+ t = tic () ;
278
+ cs_ipvec (S->pinv, b, y, n) ; /* y = P*b */
279
+ cs_lsolve (N->L, y) ; /* y = L\y */
280
+ cs_ltsolve (N->L, y) ; /* y = L'\y */
281
+ cs_pvec (S->pinv, y, x, n) ; /* x = P'*y */
282
+ t = toc (t) ;
283
+ printf ("downdate: time: %8.2f (incl solve) ", t1+t) ;
284
+ print_resid (1, C, x, b, resid) ; /* print residual */
285
+ return (done3 (1, S, N, y, W, E, p)) ;
286
+ }
@@ -0,0 +1,15 @@
1
+ #include "cs.h"
2
+ typedef struct problem_struct
3
+ {
4
+ cs *A ;
5
+ cs *C ;
6
+ int sym ;
7
+ double *x ;
8
+ double *b ;
9
+ double *resid ;
10
+ } problem ;
11
+
12
+ problem *get_problem (FILE *f, double tol) ;
13
+ int demo2 (problem *Prob) ;
14
+ int demo3 (problem *Prob) ;
15
+ problem *free_problem (problem *Prob) ;
@@ -0,0 +1,170 @@
1
+ ./cs_demo1 < ../Matrix/t1
2
+ T:
3
+ CSparse Version 2.2.0, Mar 31, 2007. Copyright (c) Timothy A. Davis, 2006-2007
4
+ triplet: 4-by-4, nzmax: 16 nnz: 10
5
+ 2 2 : 3
6
+ 1 0 : 3.1
7
+ 3 3 : 1
8
+ 0 2 : 3.2
9
+ 1 1 : 2.9
10
+ 3 0 : 3.5
11
+ 3 1 : 0.4
12
+ 1 3 : 0.9
13
+ 0 0 : 4.5
14
+ 2 1 : 1.7
15
+ A:
16
+ CSparse Version 2.2.0, Mar 31, 2007. Copyright (c) Timothy A. Davis, 2006-2007
17
+ 4-by-4, nzmax: 10 nnz: 10, 1-norm: 11.1
18
+ col 0 : locations 0 to 2
19
+ 1 : 3.1
20
+ 3 : 3.5
21
+ 0 : 4.5
22
+ col 1 : locations 3 to 5
23
+ 1 : 2.9
24
+ 3 : 0.4
25
+ 2 : 1.7
26
+ col 2 : locations 6 to 7
27
+ 2 : 3
28
+ 0 : 3.2
29
+ col 3 : locations 8 to 9
30
+ 3 : 1
31
+ 1 : 0.9
32
+ AT:
33
+ CSparse Version 2.2.0, Mar 31, 2007. Copyright (c) Timothy A. Davis, 2006-2007
34
+ 4-by-4, nzmax: 10 nnz: 10, 1-norm: 7.7
35
+ col 0 : locations 0 to 1
36
+ 0 : 4.5
37
+ 2 : 3.2
38
+ col 1 : locations 2 to 4
39
+ 0 : 3.1
40
+ 1 : 2.9
41
+ 3 : 0.9
42
+ col 2 : locations 5 to 6
43
+ 1 : 1.7
44
+ 2 : 3
45
+ col 3 : locations 7 to 9
46
+ 0 : 3.5
47
+ 1 : 0.4
48
+ 3 : 1
49
+ D:
50
+ CSparse Version 2.2.0, Mar 31, 2007. Copyright (c) Timothy A. Davis, 2006-2007
51
+ 4-by-4, nzmax: 16 nnz: 16, 1-norm: 139.58
52
+ col 0 : locations 0 to 3
53
+ 1 : 13.95
54
+ 3 : 15.75
55
+ 0 : 100.28
56
+ 2 : 9.6
57
+ col 1 : locations 4 to 7
58
+ 1 : 88.62
59
+ 3 : 12.91
60
+ 0 : 13.95
61
+ 2 : 4.93
62
+ col 2 : locations 8 to 11
63
+ 1 : 4.93
64
+ 3 : 0.68
65
+ 2 : 81.68
66
+ 0 : 9.6
67
+ col 3 : locations 12 to 15
68
+ 1 : 12.91
69
+ 3 : 83.2
70
+ 0 : 15.75
71
+ 2 : 0.68
72
+ ./cs_demo2 < ../Matrix/t1
73
+
74
+ --- Matrix: 4-by-4, nnz: 10 (sym: 0: nnz 0), norm: 1.11e+01
75
+ blocks: 1 singletons: 0 structural rank: 4
76
+ QR natural time: 0.00 resid: 1.53e-17
77
+ QR amd(A'*A) time: 0.00 resid: 1.53e-17
78
+ LU natural time: 0.00 resid: 1.04e-17
79
+ LU amd(A+A') time: 0.00 resid: 4.94e-18
80
+ LU amd(S'*S) time: 0.00 resid: 4.94e-18
81
+ LU amd(A'*A) time: 0.00 resid: 4.94e-18
82
+ ./cs_demo2 < ../Matrix/ash219
83
+
84
+ --- Matrix: 219-by-85, nnz: 438 (sym: 0: nnz 0), norm: 9.00e+00
85
+ blocks: 1 singletons: 0 structural rank: 85
86
+ QR natural time: 0.00 resid: 1.61e-02
87
+ QR amd(A'*A) time: 0.00 resid: 1.61e-02
88
+ ./cs_demo2 < ../Matrix/bcsstk01
89
+
90
+ --- Matrix: 48-by-48, nnz: 224 (sym: -1: nnz 400), norm: 3.57e+09
91
+ blocks: 1 singletons: 0 structural rank: 48
92
+ QR natural time: 0.00 resid: 2.83e-19
93
+ QR amd(A'*A) time: 0.00 resid: 5.19e-19
94
+ LU natural time: 0.00 resid: 2.63e-19
95
+ LU amd(A+A') time: 0.00 resid: 8.63e-20
96
+ LU amd(S'*S) time: 0.00 resid: 2.04e-19
97
+ LU amd(A'*A) time: 0.00 resid: 2.04e-19
98
+ Chol natural time: 0.00 resid: 1.90e-19
99
+ Chol amd(A+A') time: 0.00 resid: 2.01e-19
100
+ ./cs_demo2 < ../Matrix/fs_183_1
101
+
102
+ --- Matrix: 183-by-183, nnz: 988 (sym: 0: nnz 0), norm: 1.70e+09
103
+ zero entries dropped: 71
104
+ tiny entries dropped: 10
105
+ blocks: 38 singletons: 37 structural rank: 183
106
+ QR natural time: 0.00 resid: 1.09e-27
107
+ QR amd(A'*A) time: 0.01 resid: 5.34e-28
108
+ LU natural time: 0.00 resid: 3.08e-28
109
+ LU amd(A+A') time: 0.00 resid: 1.42e-27
110
+ LU amd(S'*S) time: 0.01 resid: 7.11e-28
111
+ LU amd(A'*A) time: 0.00 resid: 7.11e-28
112
+ ./cs_demo2 < ../Matrix/mbeacxc
113
+
114
+ --- Matrix: 492-by-490, nnz: 49920 (sym: 0: nnz 0), norm: 9.29e-01
115
+ blocks: 10 singletons: 8 structural rank: 448
116
+ QR natural time: 0.24 resid: nan
117
+ QR amd(A'*A) time: 0.30 resid: nan
118
+ ./cs_demo2 < ../Matrix/west0067
119
+
120
+ --- Matrix: 67-by-67, nnz: 294 (sym: 0: nnz 0), norm: 6.14e+00
121
+ blocks: 2 singletons: 1 structural rank: 67
122
+ QR natural time: 0.00 resid: 3.42e-17
123
+ QR amd(A'*A) time: 0.00 resid: 1.95e-17
124
+ LU natural time: 0.00 resid: 3.85e-17
125
+ LU amd(A+A') time: 0.00 resid: 1.95e-17
126
+ LU amd(S'*S) time: 0.00 resid: 2.60e-17
127
+ LU amd(A'*A) time: 0.00 resid: 2.60e-17
128
+ ./cs_demo2 < ../Matrix/lp_afiro
129
+
130
+ --- Matrix: 27-by-51, nnz: 102 (sym: 0: nnz 0), norm: 3.43e+00
131
+ blocks: 1 singletons: 0 structural rank: 27
132
+ QR natural time: 0.00 resid: 9.54e-17
133
+ QR amd(A'*A) time: 0.00 resid: 1.89e-16
134
+ ./cs_demo2 < ../Matrix/bcsstk16
135
+
136
+ --- Matrix: 4884-by-4884, nnz: 147631 (sym: -1: nnz 290378), norm: 7.01e+09
137
+ blocks: 75 singletons: 74 structural rank: 4884
138
+ QR amd(A'*A) time: 2.36 resid: 2.02e-22
139
+ LU amd(A+A') time: 1.41 resid: 1.06e-22
140
+ LU amd(S'*S) time: 1.38 resid: 1.21e-22
141
+ LU amd(A'*A) time: 1.46 resid: 1.70e-22
142
+ Chol amd(A+A') time: 0.64 resid: 9.28e-23
143
+ ./cs_demo3 < ../Matrix/bcsstk01
144
+
145
+ --- Matrix: 48-by-48, nnz: 224 (sym: -1: nnz 400), norm: 3.57e+09
146
+
147
+ chol then update/downdate amd(A+A')
148
+ symbolic chol time 0.00
149
+ numeric chol time 0.00
150
+ solve chol time 0.00
151
+ original: resid: 2.01e-19
152
+ update: time: 0.00
153
+ update: time: 0.00 (incl solve) resid: 8.39e-19
154
+ rechol: time: 0.00 (incl solve) resid: 1.20e-18
155
+ downdate: time: 0.00
156
+ downdate: time: 0.00 (incl solve) resid: 3.30e-17
157
+ ./cs_demo3 < ../Matrix/bcsstk16
158
+
159
+ --- Matrix: 4884-by-4884, nnz: 147631 (sym: -1: nnz 290378), norm: 7.01e+09
160
+
161
+ chol then update/downdate amd(A+A')
162
+ symbolic chol time 0.04
163
+ numeric chol time 0.59
164
+ solve chol time 0.02
165
+ original: resid: 9.28e-23
166
+ update: time: 0.00
167
+ update: time: 0.01 (incl solve) resid: 8.62e-24
168
+ rechol: time: 0.61 (incl solve) resid: 8.72e-24
169
+ downdate: time: 0.00
170
+ downdate: time: 0.01 (incl solve) resid: 3.60e-22
@@ -0,0 +1,27 @@
1
+ #include "cs.h"
2
+ int main (void)
3
+ {
4
+ cs *T, *A, *Eye, *AT, *C, *D ;
5
+ int i, m ;
6
+ T = cs_load (stdin) ; /* load triplet matrix T from stdin */
7
+ printf ("T:\n") ; cs_print (T, 0) ; /* print T */
8
+ A = cs_compress (T) ; /* A = compressed-column form of T */
9
+ printf ("A:\n") ; cs_print (A, 0) ; /* print A */
10
+ cs_spfree (T) ; /* clear T */
11
+ AT = cs_transpose (A, 1) ; /* AT = A' */
12
+ printf ("AT:\n") ; cs_print (AT, 0) ; /* print AT */
13
+ m = A ? A->m : 0 ; /* m = # of rows of A */
14
+ T = cs_spalloc (m, m, m, 1, 1) ; /* create triplet identity matrix */
15
+ for (i = 0 ; i < m ; i++) cs_entry (T, i, i, 1) ;
16
+ Eye = cs_compress (T) ; /* Eye = speye (m) */
17
+ cs_spfree (T) ;
18
+ C = cs_multiply (A, AT) ; /* C = A*A' */
19
+ D = cs_add (C, Eye, 1, cs_norm (C)) ; /* D = C + Eye*norm (C,1) */
20
+ printf ("D:\n") ; cs_print (D, 0) ; /* print D */
21
+ cs_spfree (A) ; /* clear A AT C D Eye */
22
+ cs_spfree (AT) ;
23
+ cs_spfree (C) ;
24
+ cs_spfree (D) ;
25
+ cs_spfree (Eye) ;
26
+ return (0) ;
27
+ }
@@ -0,0 +1,9 @@
1
+ #include "cs_demo.h"
2
+ /* cs_demo2: read a matrix and solve a linear system */
3
+ int main (void)
4
+ {
5
+ problem *Prob = get_problem (stdin, 1e-14) ;
6
+ demo2 (Prob) ;
7
+ free_problem (Prob) ;
8
+ return (0) ;
9
+ }