prefig 0.5.4__tar.gz → 0.5.6.dev20260128135047__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 (67) hide show
  1. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/PKG-INFO +1 -1
  2. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/axes.py +28 -9
  3. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/math_utilities.py +10 -0
  4. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/user_namespace.py +1 -0
  5. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/pyproject.toml +1 -1
  6. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/LICENSE +0 -0
  7. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/README.md +0 -0
  8. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/__init__.py +0 -0
  9. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/cli.py +0 -0
  10. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/CTM.py +0 -0
  11. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/__init__.py +0 -0
  12. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/annotations.py +0 -0
  13. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/area.py +0 -0
  14. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/arrow.py +0 -0
  15. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/calculus.py +0 -0
  16. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/circle.py +0 -0
  17. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/clip.py +0 -0
  18. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/compat.py +0 -0
  19. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/coordinates.py +0 -0
  20. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/definition.py +0 -0
  21. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/diagram.py +0 -0
  22. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/diffeqs.py +0 -0
  23. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/graph.py +0 -0
  24. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/grid_axes.py +0 -0
  25. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/group.py +0 -0
  26. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/image.py +0 -0
  27. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/implicit.py +0 -0
  28. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/label.py +0 -0
  29. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/label_tools.py +0 -0
  30. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/legend.py +0 -0
  31. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/line.py +0 -0
  32. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/network.py +0 -0
  33. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/parametric_curve.py +0 -0
  34. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/parse.py +0 -0
  35. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/path.py +0 -0
  36. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/point.py +0 -0
  37. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/polygon.py +0 -0
  38. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/read.py +0 -0
  39. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/rectangle.py +0 -0
  40. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/repeat.py +0 -0
  41. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/riemann_sum.py +0 -0
  42. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/shape.py +0 -0
  43. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/slope_field.py +0 -0
  44. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/statistics.py +0 -0
  45. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/tags.py +0 -0
  46. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/tangent_line.py +0 -0
  47. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/utilities.py +0 -0
  48. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/core/vector.py +0 -0
  49. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/engine.py +0 -0
  50. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/resources/diagcess/diagcess.html +0 -0
  51. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/resources/diagcess/diagcess.js +0 -0
  52. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/resources/examples/de-system.xml +0 -0
  53. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/resources/examples/derivatives.xml +0 -0
  54. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/resources/examples/diffeqs.xml +0 -0
  55. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/resources/examples/implicit.xml +0 -0
  56. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/resources/examples/projection.xml +0 -0
  57. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/resources/examples/riemann.xml +0 -0
  58. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/resources/examples/roots_of_unity.xml +0 -0
  59. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/resources/examples/tangent.xml +0 -0
  60. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/resources/fonts/Braille29.ttf +0 -0
  61. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/resources/js/mj-sre-page.js +0 -0
  62. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/resources/js/package.json +0 -0
  63. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/resources/schema/pf_schema.rnc +0 -0
  64. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/resources/schema/pf_schema.rng +0 -0
  65. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/resources/template/pf_publication.xml +0 -0
  66. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/scripts/__init__.py +0 -0
  67. {prefig-0.5.4 → prefig-0.5.6.dev20260128135047}/prefig/scripts/install_mj.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prefig
3
- Version: 0.5.4
3
+ Version: 0.5.6.dev20260128135047
4
4
  Summary: An authoring system for mathematical diagrams
5
5
  Home-page: https://prefigure.org
6
6
  License: GPL-3.0-or-later
@@ -114,25 +114,44 @@ def get_pi_text(x):
114
114
  if abs(4*x - round(4*x)) < 1e-10:
115
115
  num = round(4*x)
116
116
  if num == -1:
117
- return r'-\pi/4'
117
+ return r'-\frac{\pi}{4}'
118
118
  if num == 1:
119
- return r'\pi/4'
119
+ return r'\frac{\pi}{4}'
120
120
  if num % 2 == 1:
121
- return str(num)+r'\pi/4'
121
+ if num < 0:
122
+ return f'-\\frac{{{-num}\\pi}}{{4}}'
123
+ else:
124
+ return f'\\frac{{{num}\\pi}}{{4}}'
122
125
  if abs(2*x - round(2*x)) < 1e-10:
123
126
  num = round(2*x)
124
127
  if num == -1:
125
- return r'-\pi/2'
128
+ return r'-\frac{\pi}{2}'
126
129
  if num == 1:
127
- return r'\pi/2'
128
- return str(num)+r'\pi/2'
130
+ return r'\frac{\pi}{2}'
131
+ if num < 0:
132
+ return f'-\\frac{{{-num}\\pi}}{{2}}'
133
+ else:
134
+ return f'\\frac{{{num}\\pi}}{{2}}'
129
135
  if abs(3*x - round(3*x)) < 1e-10:
130
136
  num = round(3*x)
131
137
  if num == -1:
132
- return r'-\pi/3'
138
+ return r'-\frac{\pi}{3}'
139
+ if num == 1:
140
+ return r'\frac{\pi}{3}'
141
+ if num < 0:
142
+ return f'-\\frac{{{-num}\\pi}}{{3}}'
143
+ else:
144
+ return f'\\frac{{{num}\\pi}}{{3}}'
145
+ if abs(6*x - round(6*x)) < 1e-10:
146
+ num = round(6*x)
147
+ if num == -1:
148
+ return r'-\frac{\pi}{6}'
133
149
  if num == 1:
134
- return r'\pi/3'
135
- return str(num)+r'\pi/3'
150
+ return r'\frac{\pi}{6}'
151
+ if num < 0:
152
+ return f'-\\frac{{{-num}\\pi}}{{6}}'
153
+ else:
154
+ return f'\\frac{{{num}\\pi}}{{6}}'
136
155
  return r'{0:g}\pi'.format(x)
137
156
 
138
157
 
@@ -18,6 +18,16 @@ def set_diagram(d):
18
18
  def ln(x):
19
19
  return math.log(x)
20
20
 
21
+ #Add other three trig functions for convenience
22
+ def sec(x):
23
+ return 1/math.cos(x)
24
+
25
+ def csc(x):
26
+ return 1/math.sin(x)
27
+
28
+ def cot(x):
29
+ return 1/math.tan(x)
30
+
21
31
  def dot(u, v):
22
32
  return np.dot(np.array(u), np.array(v))
23
33
 
@@ -24,6 +24,7 @@ __delta_on = False
24
24
  functions = {x for x in dir(math) + dir(math_utilities) if not "__" in x}.difference({'e', 'pi'})
25
25
  functions.add('max')
26
26
  functions.add('min')
27
+ functions.add('round')
27
28
  variables = {'e', 'pi', 'inf'}
28
29
 
29
30
  # Transforms an AST by wrapping any List or Tuple inside a numpy array
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "prefig"
3
- version = "0.5.4"
3
+ version = "0.5.6.dev20260128135047"
4
4
  description = "An authoring system for mathematical diagrams"
5
5
  readme = "README.md"
6
6
  homepage = "https://prefigure.org"
File without changes