myokit 1.37.2__tar.gz → 1.37.3__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 (416) hide show
  1. {myokit-1.37.2/myokit.egg-info → myokit-1.37.3}/PKG-INFO +1 -1
  2. {myokit-1.37.2 → myokit-1.37.3}/myokit/_myokit_version.py +1 -1
  3. {myokit-1.37.2 → myokit-1.37.3}/myokit/_unit.py +48 -40
  4. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_quantity.py +2 -2
  5. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_unit.py +28 -7
  6. {myokit-1.37.2 → myokit-1.37.3/myokit.egg-info}/PKG-INFO +1 -1
  7. {myokit-1.37.2 → myokit-1.37.3}/LICENSE.txt +0 -0
  8. {myokit-1.37.2 → myokit-1.37.3}/MANIFEST.in +0 -0
  9. {myokit-1.37.2 → myokit-1.37.3}/README.md +0 -0
  10. {myokit-1.37.2 → myokit-1.37.3}/myokit/__init__.py +0 -0
  11. {myokit-1.37.2 → myokit-1.37.3}/myokit/__main__.py +0 -0
  12. {myokit-1.37.2 → myokit-1.37.3}/myokit/_aux.py +0 -0
  13. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/example.mmt +0 -0
  14. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/find.png +0 -0
  15. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/icon-datablock-viewer-128.xpm +0 -0
  16. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/icon-datablock-viewer-16.xpm +0 -0
  17. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/icon-datablock-viewer-24.xpm +0 -0
  18. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/icon-datablock-viewer-256.xpm +0 -0
  19. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/icon-datablock-viewer-32.xpm +0 -0
  20. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/icon-datablock-viewer-48.xpm +0 -0
  21. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/icon-datablock-viewer-64.xpm +0 -0
  22. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/icon-datablock-viewer-96.xpm +0 -0
  23. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/icon-datablock-viewer.ico +0 -0
  24. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/icon-datablock-viewer.png +0 -0
  25. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/icon-ide-128.xpm +0 -0
  26. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/icon-ide-16.xpm +0 -0
  27. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/icon-ide-24.xpm +0 -0
  28. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/icon-ide-256.xpm +0 -0
  29. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/icon-ide-32.xpm +0 -0
  30. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/icon-ide-48.xpm +0 -0
  31. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/icon-ide-64.xpm +0 -0
  32. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/icon-ide-96.xpm +0 -0
  33. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/icon-ide.ico +0 -0
  34. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/icon-ide.png +0 -0
  35. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/new.png +0 -0
  36. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/open.png +0 -0
  37. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/redo.png +0 -0
  38. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/run.png +0 -0
  39. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/save.png +0 -0
  40. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/gui/undo.png +0 -0
  41. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/install-lin/myokit-datablock-viewer.desktop +0 -0
  42. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/install-lin/myokit-datalog-viewer.desktop +0 -0
  43. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/install-lin/myokit-ide.desktop +0 -0
  44. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/install-lin/myokit.lang +0 -0
  45. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/install-lin/x-abf.xml +0 -0
  46. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/install-lin/x-cellml.xml +0 -0
  47. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/install-lin/x-myokit.xml +0 -0
  48. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/install-lin/x-wcp.xml +0 -0
  49. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/install-win/menu.json +0 -0
  50. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/LICENSE +0 -0
  51. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/cvodes/cvodes.h +0 -0
  52. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/cvodes/cvodes_direct.h +0 -0
  53. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/cvodes/cvodes_ls.h +0 -0
  54. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/nvector/nvector_serial.h +0 -0
  55. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_config.h +0 -0
  56. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_dense.h +0 -0
  57. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_direct.h +0 -0
  58. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_export.h +0 -0
  59. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_iterative.h +0 -0
  60. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_linearsolver.h +0 -0
  61. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_matrix.h +0 -0
  62. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_nonlinearsolver.h +0 -0
  63. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_nvector.h +0 -0
  64. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_types.h +0 -0
  65. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sundials/sundials_version.h +0 -0
  66. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sunlinsol/sunlinsol_dense.h +0 -0
  67. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/include/sunmatrix/sunmatrix_dense.h +0 -0
  68. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/lib/sundials_cvodes.dll +0 -0
  69. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/lib/sundials_cvodes.lib +0 -0
  70. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/lib/sundials_nvecserial.dll +0 -0
  71. {myokit-1.37.2 → myokit-1.37.3}/myokit/_bin/sundials-win-vs/lib/sundials_nvecserial.lib +0 -0
  72. {myokit-1.37.2 → myokit-1.37.3}/myokit/_config.py +0 -0
  73. {myokit-1.37.2 → myokit-1.37.3}/myokit/_datablock.py +0 -0
  74. {myokit-1.37.2 → myokit-1.37.3}/myokit/_datalog.py +0 -0
  75. {myokit-1.37.2 → myokit-1.37.3}/myokit/_err.py +0 -0
  76. {myokit-1.37.2 → myokit-1.37.3}/myokit/_expressions.py +0 -0
  77. {myokit-1.37.2 → myokit-1.37.3}/myokit/_io.py +0 -0
  78. {myokit-1.37.2 → myokit-1.37.3}/myokit/_model_api.py +0 -0
  79. {myokit-1.37.2 → myokit-1.37.3}/myokit/_parsing.py +0 -0
  80. {myokit-1.37.2 → myokit-1.37.3}/myokit/_progress.py +0 -0
  81. {myokit-1.37.2 → myokit-1.37.3}/myokit/_protocol.py +0 -0
  82. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/__init__.py +0 -0
  83. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/cable.c +0 -0
  84. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/cable.py +0 -0
  85. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/cmodel.h +0 -0
  86. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/cmodel.py +0 -0
  87. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/compiler.c +0 -0
  88. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/compiler.py +0 -0
  89. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/cvodessim.c +0 -0
  90. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/cvodessim.py +0 -0
  91. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/differential.hpp +0 -0
  92. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/fiber_tissue.c +0 -0
  93. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/fiber_tissue.py +0 -0
  94. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/jacobian.cpp +0 -0
  95. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/jacobian.py +0 -0
  96. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/mcl.h +0 -0
  97. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/opencl.c +0 -0
  98. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/opencl.py +0 -0
  99. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/openclsim.c +0 -0
  100. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/openclsim.cl +0 -0
  101. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/openclsim.py +0 -0
  102. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/pacing.h +0 -0
  103. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/rhs.c +0 -0
  104. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/rhs.py +0 -0
  105. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/sundials.c +0 -0
  106. {myokit-1.37.2 → myokit-1.37.3}/myokit/_sim/sundials.py +0 -0
  107. {myokit-1.37.2 → myokit-1.37.3}/myokit/_system.py +0 -0
  108. {myokit-1.37.2 → myokit-1.37.3}/myokit/float.py +0 -0
  109. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/__init__.py +0 -0
  110. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/ansic/__init__.py +0 -0
  111. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/ansic/_ewriter.py +0 -0
  112. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/ansic/_exporter.py +0 -0
  113. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/ansic/template/cable.c +0 -0
  114. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/ansic/template/euler.c +0 -0
  115. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/ansic/template/sim.c +0 -0
  116. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/axon/__init__.py +0 -0
  117. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/axon/_abf.py +0 -0
  118. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/axon/_atf.py +0 -0
  119. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/axon/_importer.py +0 -0
  120. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/cellml/__init__.py +0 -0
  121. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/cellml/_ewriter.py +0 -0
  122. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/cellml/_exporter.py +0 -0
  123. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/cellml/_importer.py +0 -0
  124. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/cellml/v1/__init__.py +0 -0
  125. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/cellml/v1/_api.py +0 -0
  126. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/cellml/v1/_parser.py +0 -0
  127. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/cellml/v1/_writer.py +0 -0
  128. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/cellml/v2/__init__.py +0 -0
  129. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/cellml/v2/_api.py +0 -0
  130. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/cellml/v2/_parser.py +0 -0
  131. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/cellml/v2/_writer.py +0 -0
  132. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/channelml/__init__.py +0 -0
  133. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/channelml/_importer.py +0 -0
  134. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/cpp/__init__.py +0 -0
  135. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/cpp/_ewriter.py +0 -0
  136. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/cuda/__init__.py +0 -0
  137. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/cuda/_ewriter.py +0 -0
  138. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/cuda/_exporter.py +0 -0
  139. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/cuda/template/kernel.cu +0 -0
  140. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/diffsl/__init__.py +0 -0
  141. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/diffsl/_ewriter.py +0 -0
  142. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/diffsl/_exporter.py +0 -0
  143. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/easyml/__init__.py +0 -0
  144. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/easyml/_ewriter.py +0 -0
  145. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/easyml/_exporter.py +0 -0
  146. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/heka/__init__.py +0 -0
  147. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/heka/_importer.py +0 -0
  148. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/heka/_patchmaster.py +0 -0
  149. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/html/__init__.py +0 -0
  150. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/html/_exporter.py +0 -0
  151. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/html/_flatten.py +0 -0
  152. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/latex/__init__.py +0 -0
  153. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/latex/_ewriter.py +0 -0
  154. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/latex/_exporter.py +0 -0
  155. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/mathml/__init__.py +0 -0
  156. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/mathml/_ewriter.py +0 -0
  157. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/mathml/_parser.py +0 -0
  158. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/matlab/__init__.py +0 -0
  159. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/matlab/_ewriter.py +0 -0
  160. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/matlab/_exporter.py +0 -0
  161. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/matlab/template/constants.m +0 -0
  162. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/matlab/template/ifthenelse.m +0 -0
  163. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/matlab/template/main.m +0 -0
  164. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/matlab/template/model.m +0 -0
  165. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/matlab/template/model_wrapper.m +0 -0
  166. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/opencl/__init__.py +0 -0
  167. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/opencl/_ewriter.py +0 -0
  168. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/opencl/_exporter.py +0 -0
  169. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/opencl/template/cable.c +0 -0
  170. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/opencl/template/kernel.cl +0 -0
  171. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/opencl/template/minilog.py +0 -0
  172. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/opencl/template/plot.py +0 -0
  173. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/opencl/template/test.sh +0 -0
  174. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/python/__init__.py +0 -0
  175. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/python/_ewriter.py +0 -0
  176. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/python/_exporter.py +0 -0
  177. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/python/template/sim.py +0 -0
  178. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/sbml/__init__.py +0 -0
  179. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/sbml/_api.py +0 -0
  180. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/sbml/_exporter.py +0 -0
  181. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/sbml/_importer.py +0 -0
  182. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/sbml/_parser.py +0 -0
  183. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/sbml/_writer.py +0 -0
  184. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/stan/__init__.py +0 -0
  185. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/stan/_ewriter.py +0 -0
  186. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/stan/_exporter.py +0 -0
  187. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/stan/template/cell.stan +0 -0
  188. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/stan/template/run.py +0 -0
  189. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/sympy/__init__.py +0 -0
  190. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/sympy/_ereader.py +0 -0
  191. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/sympy/_ewriter.py +0 -0
  192. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/wcp/__init__.py +0 -0
  193. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/wcp/_wcp.py +0 -0
  194. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/xml/__init__.py +0 -0
  195. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/xml/_exporter.py +0 -0
  196. {myokit-1.37.2 → myokit-1.37.3}/myokit/formats/xml/_split.py +0 -0
  197. {myokit-1.37.2 → myokit-1.37.3}/myokit/gui/__init__.py +0 -0
  198. {myokit-1.37.2 → myokit-1.37.3}/myokit/gui/datablock_viewer.py +0 -0
  199. {myokit-1.37.2 → myokit-1.37.3}/myokit/gui/datalog_viewer.py +0 -0
  200. {myokit-1.37.2 → myokit-1.37.3}/myokit/gui/explorer.py +0 -0
  201. {myokit-1.37.2 → myokit-1.37.3}/myokit/gui/ide.py +0 -0
  202. {myokit-1.37.2 → myokit-1.37.3}/myokit/gui/progress.py +0 -0
  203. {myokit-1.37.2 → myokit-1.37.3}/myokit/gui/source.py +0 -0
  204. {myokit-1.37.2 → myokit-1.37.3}/myokit/gui/vargrapher.py +0 -0
  205. {myokit-1.37.2 → myokit-1.37.3}/myokit/lib/__init__.py +0 -0
  206. {myokit-1.37.2 → myokit-1.37.3}/myokit/lib/deps.py +0 -0
  207. {myokit-1.37.2 → myokit-1.37.3}/myokit/lib/guess.py +0 -0
  208. {myokit-1.37.2 → myokit-1.37.3}/myokit/lib/hh.py +0 -0
  209. {myokit-1.37.2 → myokit-1.37.3}/myokit/lib/markov.py +0 -0
  210. {myokit-1.37.2 → myokit-1.37.3}/myokit/lib/multi.py +0 -0
  211. {myokit-1.37.2 → myokit-1.37.3}/myokit/lib/plots.py +0 -0
  212. {myokit-1.37.2 → myokit-1.37.3}/myokit/pacing.py +0 -0
  213. {myokit-1.37.2 → myokit-1.37.3}/myokit/pype.py +0 -0
  214. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/__init__.py +0 -0
  215. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/ansic_event_based_pacing.py +0 -0
  216. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/ansic_time_series_pacing.py +0 -0
  217. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/beeler-1977-model-compare-a.mmt +0 -0
  218. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/beeler-1977-model-compare-b.mmt +0 -0
  219. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/beeler-1977-model.mmt +0 -0
  220. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/beeler-1977-protocol.mmt +0 -0
  221. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/beeler-1977-script.mmt +0 -0
  222. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/beeler-1977-units.mmt +0 -0
  223. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/clancy-1999-fitting.mmt +0 -0
  224. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/conditional.mmt +0 -0
  225. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/cv1d.mmt +0 -0
  226. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/cv1d.zip +0 -0
  227. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/decker-2009.mmt +0 -0
  228. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/decker.model +0 -0
  229. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/dn-1985-normalised.mmt +0 -0
  230. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/dom-markov.mmt +0 -0
  231. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/abf-protocol.pro +0 -0
  232. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/abf-v1.abf +0 -0
  233. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/abf-v2.abf +0 -0
  234. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/cellml/LICENSE +0 -0
  235. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/cellml/br-1977-dot.cellml +0 -0
  236. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/cellml/br-1977.cellml +0 -0
  237. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/cellml/corrias.cellml +0 -0
  238. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/cellml/decker-2009.cellml +0 -0
  239. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/cellml/documentation.cellml +0 -0
  240. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/cellml/invalid-file.cellml +0 -0
  241. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/cellml/lr-1991-exported-1.cellml +0 -0
  242. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/cellml/lr-1991-exported-2.cellml +0 -0
  243. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-00-valid-file.channelml +0 -0
  244. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-01-wrong-root.channelml +0 -0
  245. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-02-no-channel-type.channelml +0 -0
  246. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-03-overlapping-name.channelml +0 -0
  247. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-04-no-cvr.channelml +0 -0
  248. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-05-two-cvrs.channelml +0 -0
  249. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-06-no-q10.channelml +0 -0
  250. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-07-three-transitions.channelml +0 -0
  251. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-08-no-closed-to-open.channelml +0 -0
  252. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-09-no-open-to-closed.channelml +0 -0
  253. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-10-tco-bad-expression.channelml +0 -0
  254. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-11-toc-bad-expression.channelml +0 -0
  255. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-12-no-steady-state.channelml +0 -0
  256. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-13-no-time-course.channelml +0 -0
  257. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-14-inf-bad-expression.channelml +0 -0
  258. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-15-tau-bad-expression.channelml +0 -0
  259. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-16-no-gates.channelml +0 -0
  260. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-17-invalid-name.channelml +0 -0
  261. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/channelml/ch-18-c-style-if.channelml +0 -0
  262. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/sbml/00004-sbml-l2v1-modified.xml +0 -0
  263. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/sbml/00004-sbml-l3v2-modified.xml +0 -0
  264. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/sbml/HodgkinHuxley.xml +0 -0
  265. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/sbml/LICENSE +0 -0
  266. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/sbml/model/00001-sbml-l3v2.xml +0 -0
  267. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/sbml/model/00004-sbml-l3v2.xml +0 -0
  268. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/sbml/model/01103-sbml-l3v2.xml +0 -0
  269. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/sbml/result/00001-results.csv +0 -0
  270. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/sbml/result/00004-results.csv +0 -0
  271. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/sbml/result/01103-results.csv +0 -0
  272. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/wcp-file-empty.wcp +0 -0
  273. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/formats/wcp-file.wcp +0 -0
  274. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/bad1d-1-not-enough-files.zip +0 -0
  275. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/bad1d-2-no-header.zip +0 -0
  276. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/bad1d-3-no-data.zip +0 -0
  277. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/bad1d-4-not-a-zip.zip +0 -0
  278. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/bad1d-5-bad-data-type.zip +0 -0
  279. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/bad1d-6-time-too-short.zip +0 -0
  280. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/bad1d-7-0d-too-short.zip +0 -0
  281. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/bad1d-8-1d-too-short.zip +0 -0
  282. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/bad2d-1-not-enough-files.zip +0 -0
  283. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/bad2d-2-no-header.zip +0 -0
  284. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/bad2d-3-no-data.zip +0 -0
  285. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/bad2d-4-not-a-zip.zip +0 -0
  286. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/bad2d-5-bad-data-type.zip +0 -0
  287. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/bad2d-6-time-too-short.zip +0 -0
  288. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/bad2d-7-0d-too-short.zip +0 -0
  289. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/bad2d-8-2d-too-short.zip +0 -0
  290. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/badlog-1-no-data.zip +0 -0
  291. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/badlog-2-no-structure.zip +0 -0
  292. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/badlog-3-not-a-zip.zip +0 -0
  293. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/badlog-4-invalid-n-fields.zip +0 -0
  294. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/badlog-5-invalid-data-size.zip +0 -0
  295. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/badlog-6-bad-data-type.zip +0 -0
  296. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/badlog-7-not-enough-data.zip +0 -0
  297. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/block1d.mmt +0 -0
  298. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/block2d.mmt +0 -0
  299. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/block2d.zip +0 -0
  300. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/datalog-1-empty.csv +0 -0
  301. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/datalog-10-just-spaces.csv +0 -0
  302. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/datalog-11-just-a-semicolon.csv +0 -0
  303. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/datalog-12-bad-header.csv +0 -0
  304. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/datalog-13-header-with-empty-1.csv +0 -0
  305. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/datalog-14-header-with-empty-2.csv +0 -0
  306. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/datalog-15-header-with-empty-3.csv +0 -0
  307. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/datalog-16-wrong-columns-in-data.csv +0 -0
  308. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/datalog-17-non-float-data.csv +0 -0
  309. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/datalog-18-duplicate-keys.csv +0 -0
  310. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/datalog-2-windows.csv +0 -0
  311. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/datalog-3-old-mac.csv +0 -0
  312. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/datalog-4-empty-lines.csv +0 -0
  313. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/datalog-5-semicolons.csv +0 -0
  314. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/datalog-6-open-string.csv +0 -0
  315. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/datalog-7-empty-lines-2.csv +0 -0
  316. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/datalog-8-unquoted-header.csv +0 -0
  317. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/datalog-9-double-quoted-header.csv +0 -0
  318. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/datalog.csv +0 -0
  319. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/io/goodlog.zip +0 -0
  320. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/lr-1991-dep.mmt +0 -0
  321. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/lr-1991-fitting.mmt +0 -0
  322. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/lr-1991-testing.mmt +0 -0
  323. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/lr-1991.mmt +0 -0
  324. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/multi/beeler-1977-protocol.mmt +0 -0
  325. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/multi/beeler-1977-script.mmt +0 -0
  326. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/multi/beeler-no-name.mmt +0 -0
  327. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/multi/lr-1991.mmt +0 -0
  328. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/multi/not-a-model.csv +0 -0
  329. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/multi/subdir/beeler-no-name.mmt +0 -0
  330. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/data/noble-1962.mmt +0 -0
  331. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_aux.py +0 -0
  332. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_cellml_v1_api.py +0 -0
  333. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_cellml_v1_parser.py +0 -0
  334. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_cellml_v1_writer.py +0 -0
  335. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_cellml_v2_api.py +0 -0
  336. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_cellml_v2_parser.py +0 -0
  337. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_cellml_v2_writer.py +0 -0
  338. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_cmodel.py +0 -0
  339. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_compiler_detection.py +0 -0
  340. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_component.py +0 -0
  341. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_config.py +0 -0
  342. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_datablock.py +0 -0
  343. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_datalog.py +0 -0
  344. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_dependency_checking.py +0 -0
  345. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_expressions.py +0 -0
  346. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_float.py +0 -0
  347. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_formats.py +0 -0
  348. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_formats_ansic.py +0 -0
  349. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_formats_axon.py +0 -0
  350. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_formats_cellml.py +0 -0
  351. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_formats_channelml.py +0 -0
  352. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_formats_cpp.py +0 -0
  353. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_formats_cuda.py +0 -0
  354. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_formats_diffsl.py +0 -0
  355. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_formats_easyml.py +0 -0
  356. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_formats_exporters_run.py +0 -0
  357. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_formats_html.py +0 -0
  358. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_formats_latex.py +0 -0
  359. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_formats_mathml_content.py +0 -0
  360. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_formats_mathml_presentation.py +0 -0
  361. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_formats_matlab.py +0 -0
  362. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_formats_opencl.py +0 -0
  363. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_formats_python.py +0 -0
  364. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_formats_sbml.py +0 -0
  365. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_formats_stan.py +0 -0
  366. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_formats_sympy.py +0 -0
  367. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_formats_wcp.py +0 -0
  368. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_io.py +0 -0
  369. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_jacobian_calculator.py +0 -0
  370. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_jacobian_tracer.py +0 -0
  371. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_lib_deps.py +0 -0
  372. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_lib_guess.py +0 -0
  373. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_lib_hh.py +0 -0
  374. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_lib_markov.py +0 -0
  375. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_lib_multi.py +0 -0
  376. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_lib_plots.py +0 -0
  377. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_meta.py +0 -0
  378. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_model.py +0 -0
  379. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_model_building.py +0 -0
  380. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_opencl_info.py +0 -0
  381. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_pacing_factory.py +0 -0
  382. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_pacing_system_c.py +0 -0
  383. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_pacing_system_py.py +0 -0
  384. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_parsing.py +0 -0
  385. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_progress_reporters.py +0 -0
  386. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_protocol.py +0 -0
  387. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_protocol_floating_point.py +0 -0
  388. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_protocol_time_series.py +0 -0
  389. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_pype.py +0 -0
  390. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_rhs_benchmarker.py +0 -0
  391. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_sbml_api.py +0 -0
  392. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_sbml_export.py +0 -0
  393. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_sbml_parser.py +0 -0
  394. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_simulation_1d.py +0 -0
  395. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_simulation_cvodes.py +0 -0
  396. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_simulation_cvodes_from_disk.py +0 -0
  397. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_simulation_fiber_tissue.py +0 -0
  398. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_simulation_log_interval.py +0 -0
  399. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_simulation_opencl.py +0 -0
  400. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_simulation_opencl_log_interval.py +0 -0
  401. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_simulation_opencl_vs_cvode.py +0 -0
  402. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_simulation_opencl_vs_sim1d.py +0 -0
  403. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_system_info.py +0 -0
  404. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_tools.py +0 -0
  405. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_user_functions.py +0 -0
  406. {myokit-1.37.2 → myokit-1.37.3}/myokit/tests/test_variable.py +0 -0
  407. {myokit-1.37.2 → myokit-1.37.3}/myokit/tools.py +0 -0
  408. {myokit-1.37.2 → myokit-1.37.3}/myokit/units.py +0 -0
  409. {myokit-1.37.2 → myokit-1.37.3}/myokit.egg-info/SOURCES.txt +0 -0
  410. {myokit-1.37.2 → myokit-1.37.3}/myokit.egg-info/dependency_links.txt +0 -0
  411. {myokit-1.37.2 → myokit-1.37.3}/myokit.egg-info/entry_points.txt +0 -0
  412. {myokit-1.37.2 → myokit-1.37.3}/myokit.egg-info/not-zip-safe +0 -0
  413. {myokit-1.37.2 → myokit-1.37.3}/myokit.egg-info/requires.txt +0 -0
  414. {myokit-1.37.2 → myokit-1.37.3}/myokit.egg-info/top_level.txt +0 -0
  415. {myokit-1.37.2 → myokit-1.37.3}/setup.cfg +0 -0
  416. {myokit-1.37.2 → myokit-1.37.3}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: myokit
3
- Version: 1.37.2
3
+ Version: 1.37.3
4
4
  Summary: A modeling and simulation tool for cardiac cellular electrophysiology
5
5
  Home-page: http://myokit.org
6
6
  Author: Michael Clerx
@@ -14,7 +14,7 @@ __release__ = True
14
14
  # incompatibility
15
15
  # - Changes to revision indicate bugfixes, tiny new features
16
16
  # - There is no significance to odd/even numbers
17
- __version_tuple__ = 1, 37, 2
17
+ __version_tuple__ = 1, 37, 3
18
18
 
19
19
  # String version of the version number
20
20
  __version__ = '.'.join([str(x) for x in __version_tuple__])
@@ -487,56 +487,55 @@ class Unit:
487
487
  return self.__rtruediv__(other)
488
488
 
489
489
  @staticmethod
490
- def register(name, unit, quantifiable=False, output=False):
490
+ def register(name, unit, quantifiable=False,
491
+ preferred_representation=False):
491
492
  """
492
- Registers a unit name with the Unit class. Registered units will be
493
- recognised by the parse() method.
493
+ Registers a unit name with the :class:`Unit` class so that it will be
494
+ recognised when parsing.
494
495
 
495
496
  Arguments:
496
497
 
497
498
  ``name``
498
- The unit name. A variable will be created using this name.
499
+ The unit name. This must be a valid myokit name, i.e.
500
+ ``myokit.check_name(name)`` should not raise any errors.
499
501
  ``unit``
500
502
  A valid unit object
501
503
  ``quantifiable``
502
504
  ``True`` if this unit should be registered with the unit class as a
503
- quantifiable unit. Typically this should only be done for the
504
- unquantified symbol notation of SI or SI derived units. For example
505
- m, g, Hz, N but not meter, kg, hertz or forthnight.
506
- ``output``
507
- ``True`` if this units name should be used to display this unit in.
508
- This should be set for all common units (m, kg, nm, Hz) but not for
509
- more obscure units (furlong, parsec). Having ``output`` set to
510
- ``False`` will cause one-way behavior: Myokit will recognise the
511
- unit name but never use it in output.
512
- Setting this to ``True`` will also register the given name as a
513
- preferred representation format.
514
-
515
- """
516
- if not isinstance(name, str):
517
- raise TypeError('Given name must be a string.')
505
+ _quantifiable_ unit, i.e. a unit that can be preceded by an SI
506
+ prefix such as "m" or "G". Typically this should only be done
507
+ for the unquantified symbol notation of SI or SI derived units. For
508
+ example "m", "g", or "Hz" but not "km", "meter", or "bushel".
509
+ ``preferred_representation``
510
+ Set to ``True`` to also register ``name`` as the preferred
511
+ representation for ``unit``.
512
+
513
+ """
514
+ name = myokit.check_name(name)
518
515
  if not isinstance(unit, Unit):
519
516
  raise TypeError('Given unit must be myokit.Unit')
520
517
  Unit._units[name] = unit
521
518
  if quantifiable:
522
519
  # Overwrite existing entries without warning
523
520
  Unit._quantifiable.add(name)
524
- if output:
521
+ if preferred_representation:
525
522
  # Overwrite existing entries without warning
526
523
  Unit._preferred_representations[unit] = name
527
524
 
528
525
  @staticmethod
529
526
  def register_preferred_representation(rep, unit):
530
527
  """
531
- Registers a preferred representation for the given unit without
532
- registering it as a new type. This method can be used to register
533
- common representations such as "umol/L" and "km/h".
528
+ Sets the preferred representation for the a unit, in terms of already
529
+ defined units.
530
+
531
+ This method can be used to register common representations such as
532
+ "umol/L" and "km/h". The given representation should be parseable by
533
+ Myokit, with the result equalling ``unit``.
534
534
 
535
535
  Arguments:
536
536
 
537
537
  ``rep``
538
- A string, containing the preferred name for this unit. This should
539
- be something that Myokit can parse.
538
+ A string containing the preferred representation for this unit.
540
539
  ``unit``
541
540
  The unit to register a notation for.
542
541
 
@@ -545,9 +544,14 @@ class Unit:
545
544
  # Overwrite existing entries without warning
546
545
  if not isinstance(unit, myokit.Unit):
547
546
  raise ValueError(
548
- 'Second argument to register_preferred_representation must be'
549
- ' a myokit.Unit')
550
- Unit._preferred_representations[unit] = str(rep)
547
+ 'The second argument to register_preferred_representation must'
548
+ ' be a myokit.Unit')
549
+ rep = str(rep)
550
+ if not myokit.parse_unit(rep) == unit:
551
+ raise ValueError(
552
+ f'The representation [{rep}] does not equal {unit._str(True)}'
553
+ ' when parsed.')
554
+ Unit._preferred_representations[unit] = rep
551
555
 
552
556
  def __repr__(self):
553
557
  """
@@ -616,7 +620,8 @@ class Unit:
616
620
 
617
621
  def __str__(self):
618
622
 
619
- # Strategy 1: Try simple look-up (using float.eq comparison)
623
+ # Strategy 1: Try simple look-up (using hash based on _str() followed
624
+ # by check of exponents in __eq__ for comparison
620
625
  try:
621
626
  return '[' + Unit._preferred_representations[self] + ']'
622
627
  except KeyError:
@@ -629,8 +634,8 @@ class Unit:
629
634
  rep = '[' + test + ']'
630
635
  break
631
636
 
632
- # Strategy 3: Try finding a representation for the exponent and adding
633
- # a multiplier to that.
637
+ # Strategy 3: Try finding a representation for the exponent (without a
638
+ # multiplier) and adding a multiplier to that.
634
639
  if rep is None:
635
640
 
636
641
  # Because kilos are defined with a multiplier of 1000, the
@@ -640,17 +645,20 @@ class Unit:
640
645
  u = Unit(list(self._x), m)
641
646
  rep = Unit._preferred_representations.get(u, None)
642
647
 
643
- # Add multiplier part
648
+ # Add multiplier part:
644
649
  if rep is not None:
645
- m = myokit.float.cround(self._m - m)
646
- m = 10**m
647
- if m >= 1:
648
- m = myokit.float.cround(m)
649
- if m < 1e6:
650
- m = str(m)
650
+ if '(' in rep:
651
+ rep = None
651
652
  else:
652
- m = '{:<1.0e}'.format(m)
653
- rep = '[' + rep + ' (' + m + ')]'
653
+ m = myokit.float.cround(self._m - m)
654
+ m = 10**m
655
+ if m >= 1:
656
+ m = myokit.float.cround(m)
657
+ if m < 1e6:
658
+ m = str(m)
659
+ else:
660
+ m = '{:<1.0e}'.format(m)
661
+ rep = '[' + rep + ' (' + m + ')]'
654
662
 
655
663
  # Strategy 4: Build a new representation
656
664
  if rep is None:
@@ -107,10 +107,10 @@ class QuantityTest(unittest.TestCase):
107
107
  # Test has does not change in quantity's lifetime
108
108
 
109
109
  try:
110
- u = myokit.units.m**8
110
+ u = myokit.units.m / myokit.units.mol
111
111
  q1 = myokit.Quantity(1, u)
112
112
  h1 = hash(q1)
113
- myokit.Unit.register_preferred_representation('abc', u)
113
+ myokit.Unit.register_preferred_representation('km/kmol', u)
114
114
  q2 = myokit.Quantity(1, u)
115
115
  h2 = hash(q2)
116
116
  self.assertEqual(h1, h2)
@@ -296,24 +296,35 @@ class MyokitUnitTest(unittest.TestCase):
296
296
  self.assertEqual(x.exponents(), [0, 2, 1.5, 0, 0, 0, -1.23])
297
297
 
298
298
  def test_register_errors(self):
299
- # Test errors for Unit.register (rest is already used a lot).
300
- self.assertRaises(TypeError, myokit.Unit.register, 4, myokit.Unit())
299
+ # Test errors for Unit.register (rest of the method is already used
300
+ # throughout other tests).
301
+ self.assertRaises(myokit.InvalidNameError, myokit.Unit.register, 4,
302
+ myokit.Unit())
301
303
  self.assertRaises(TypeError, myokit.Unit.register, 'hi', 4)
302
304
 
303
305
  def test_register_preferred_representation(self):
304
306
  # Test new representations can be registered
305
307
 
306
- u = myokit.units.m**8
307
- self.assertEqual(str(u), '[m^8]')
308
+ u = myokit.units.K / myokit.units.A
308
309
  try:
309
- myokit.Unit.register_preferred_representation(
310
- 'abc', myokit.units.m**8)
311
- self.assertEqual(str(u), '[abc]')
310
+ # Register valid unit
311
+ self.assertEqual(str(u), '[K/A]') # also auto registers!
312
+ myokit.Unit.register_preferred_representation('mK/mA', u)
313
+ self.assertEqual(str(u), '[mK/mA]')
312
314
 
315
+ # Attempt registering something that isn't a unit
313
316
  self.assertRaisesRegex(
314
317
  ValueError, 'must be a myokit.Unit',
315
318
  myokit.Unit.register_preferred_representation, 'x', 123)
316
319
 
320
+ # Attempt registering a representation that doesn't match the unit
321
+ self.assertRaisesRegex(
322
+ ValueError, r'does not equal \[K/A] when parsed',
323
+ myokit.Unit.register_preferred_representation, 'm', u)
324
+ self.assertRaisesRegex(
325
+ ValueError, r'does not equal \[K/A \(2\)] when parsed',
326
+ myokit.Unit.register_preferred_representation, 'K/A', u * 2)
327
+
317
328
  finally:
318
329
  # Bypassing the public API, this is bad test design!
319
330
  if u in myokit.Unit._preferred_representations:
@@ -365,6 +376,16 @@ class MyokitUnitTest(unittest.TestCase):
365
376
  self.assertEqual(str(c), '[V]')
366
377
  self.assertEqual(str(d), '[V]')
367
378
 
379
+ # 1115: Test str() doesn't create representations with more than one
380
+ # multiplier.
381
+ unit1 = myokit.units.mol / (1e3 * myokit.units.g)
382
+ unit2 = 1e-12 * myokit.units.mol / (1e3 * myokit.units.g)
383
+ unit3 = 1e-6 * unit2
384
+ self.assertEqual(str(unit1), '[mol/g (0.001)]')
385
+ self.assertEqual(str(unit2), '[mol/g (1e-15)]')
386
+ # Before fixing 1115, this returned [mol/g (0.001) (1e-12)]
387
+ self.assertEqual(str(unit3), '[mol/g (1e-21)]')
388
+
368
389
  def test_repr(self):
369
390
  # Test :meth:`Unit.repr()`.
370
391
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: myokit
3
- Version: 1.37.2
3
+ Version: 1.37.3
4
4
  Summary: A modeling and simulation tool for cardiac cellular electrophysiology
5
5
  Home-page: http://myokit.org
6
6
  Author: Michael Clerx
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes