fpy2 0.2.0__tar.gz → 0.2.1__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 (152) hide show
  1. {fpy2-0.2.0 → fpy2-0.2.1}/PKG-INFO +1 -1
  2. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/analysis/__init__.py +2 -0
  3. fpy2-0.2.1/fpy2/analysis/alias.py +879 -0
  4. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/analysis/array_size.py +22 -5
  5. fpy2-0.2.1/fpy2/analysis/escape.py +103 -0
  6. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/analysis/format_infer/__init__.py +2 -0
  7. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/analysis/format_infer/analysis.py +411 -41
  8. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/analysis/format_infer/format.py +129 -15
  9. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/analysis/reaching_defs.py +26 -0
  10. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/ast/fpyast.py +20 -10
  11. fpy2-0.2.1/fpy2/backend/cpp/compiler.py +542 -0
  12. fpy2-0.2.1/fpy2/backend/cpp/emitter.py +2975 -0
  13. fpy2-0.2.1/fpy2/backend/cpp/ops.py +98 -0
  14. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/backend/cpp/storage.py +36 -38
  15. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/backend/cpp/storage_infer.py +133 -122
  16. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/backend/cpp/target.py +14 -25
  17. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/backend/cpp/types.py +50 -6
  18. fpy2-0.2.1/fpy2/backend/cpp/unbox.py +722 -0
  19. fpy2-0.2.1/fpy2/backend/cpp/utils.py +66 -0
  20. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/frontend/parser.py +10 -25
  21. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/interpret/byte.py +59 -22
  22. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/interpret/interpreter.py +9 -1
  23. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/context/__init__.py +5 -2
  24. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/context/fixed.py +5 -2
  25. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/context/mp_fixed.py +55 -10
  26. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/context/mpb_fixed.py +29 -5
  27. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/engine/real.py +43 -1
  28. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/number/floats.py +16 -3
  29. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/number/reals.py +15 -13
  30. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/transform/__init__.py +1 -0
  31. fpy2-0.2.1/fpy2/transform/enumerate_elim.py +325 -0
  32. fpy2-0.2.1/fpy2/transform/iter_elim.py +232 -0
  33. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/transform/reduce_fusion.py +3 -3
  34. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/transform/specialize.py +198 -74
  35. fpy2-0.2.1/fpy2/transform/zip_elim.py +306 -0
  36. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/utils/location.py +1 -1
  37. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2.egg-info/PKG-INFO +1 -1
  38. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2.egg-info/SOURCES.txt +5 -0
  39. {fpy2-0.2.0 → fpy2-0.2.1}/pyproject.toml +1 -1
  40. fpy2-0.2.0/fpy2/backend/cpp/compiler.py +0 -252
  41. fpy2-0.2.0/fpy2/backend/cpp/emitter.py +0 -2439
  42. fpy2-0.2.0/fpy2/backend/cpp/ops.py +0 -150
  43. fpy2-0.2.0/fpy2/backend/cpp/utils.py +0 -77
  44. fpy2-0.2.0/fpy2/transform/zip_elim.py +0 -457
  45. {fpy2-0.2.0 → fpy2-0.2.1}/LICENSE +0 -0
  46. {fpy2-0.2.0 → fpy2-0.2.1}/README.md +0 -0
  47. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/__init__.py +0 -0
  48. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/analysis/call_graph.py +0 -0
  49. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/analysis/context_use.py +0 -0
  50. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/analysis/define_use.py +0 -0
  51. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/analysis/defs.py +0 -0
  52. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/analysis/live_vars.py +0 -0
  53. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/analysis/partial_eval.py +0 -0
  54. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/analysis/purity.py +0 -0
  55. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/analysis/reachability.py +0 -0
  56. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/analysis/syntax_check.py +0 -0
  57. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/analysis/type_infer.py +0 -0
  58. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/ast/__init__.py +0 -0
  59. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/ast/formatter.py +0 -0
  60. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/ast/visitor.py +0 -0
  61. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/backend/__init__.py +0 -0
  62. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/backend/backend.py +0 -0
  63. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/backend/cpp/__init__.py +0 -0
  64. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/backend/fpc.py +0 -0
  65. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/decorator.py +0 -0
  66. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/env.py +0 -0
  67. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/fpc_context.py +0 -0
  68. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/frontend/__init__.py +0 -0
  69. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/frontend/fpc.py +0 -0
  70. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/function.py +0 -0
  71. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/interpret/__init__.py +0 -0
  72. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/libraries/__init__.py +0 -0
  73. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/libraries/base.py +0 -0
  74. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/libraries/core.py +0 -0
  75. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/libraries/eft.py +0 -0
  76. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/libraries/matrix.py +0 -0
  77. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/libraries/metrics.py +0 -0
  78. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/libraries/vector.py +0 -0
  79. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/module.py +0 -0
  80. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/__init__.py +0 -0
  81. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/context/context.py +0 -0
  82. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/context/efloat.py +0 -0
  83. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/context/exponential.py +0 -0
  84. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/context/format.py +0 -0
  85. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/context/ieee754.py +0 -0
  86. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/context/mp_float.py +0 -0
  87. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/context/mpb_float.py +0 -0
  88. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/context/mps_float.py +0 -0
  89. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/context/real.py +0 -0
  90. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/context/sm_fixed.py +0 -0
  91. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/engine/__init__.py +0 -0
  92. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/engine/engine.py +0 -0
  93. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/engine/gmp.py +0 -0
  94. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/format.py +0 -0
  95. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/globals.py +0 -0
  96. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/gmputils.py +0 -0
  97. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/native.py +0 -0
  98. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/number/__init__.py +0 -0
  99. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/number/flags.py +0 -0
  100. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/number/round.py +0 -0
  101. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/ops.py +0 -0
  102. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/primitive.py +0 -0
  103. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/rewrite/__init__.py +0 -0
  104. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/rewrite/applier.py +0 -0
  105. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/rewrite/matcher.py +0 -0
  106. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/rewrite/pattern.py +0 -0
  107. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/rewrite/rewrite.py +0 -0
  108. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/rewrite/subst.py +0 -0
  109. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/runner.py +0 -0
  110. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/strategies/__init__.py +0 -0
  111. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/strategies/loop_split.py +0 -0
  112. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/strategies/loop_unroll.py +0 -0
  113. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/strategies/simple.py +0 -0
  114. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/transform/const_fold.py +0 -0
  115. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/transform/copy_propagate.py +0 -0
  116. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/transform/dead_code.py +0 -0
  117. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/transform/for_bundling.py +0 -0
  118. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/transform/for_unpack.py +0 -0
  119. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/transform/for_unroll.py +0 -0
  120. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/transform/free_var_elim.py +0 -0
  121. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/transform/func_inline.py +0 -0
  122. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/transform/if_bundling.py +0 -0
  123. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/transform/lift_context.py +0 -0
  124. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/transform/monomorphize.py +0 -0
  125. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/transform/rename_target.py +0 -0
  126. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/transform/round_elim.py +0 -0
  127. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/transform/simplify_if.py +0 -0
  128. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/transform/split_loop.py +0 -0
  129. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/transform/subst_var.py +0 -0
  130. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/transform/while_bundling.py +0 -0
  131. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/transform/while_unroll.py +0 -0
  132. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/types.py +0 -0
  133. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/utils/__init__.py +0 -0
  134. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/utils/bits.py +0 -0
  135. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/utils/compare.py +0 -0
  136. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/utils/decorator.py +0 -0
  137. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/utils/default.py +0 -0
  138. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/utils/float_params.py +0 -0
  139. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/utils/fractions.py +0 -0
  140. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/utils/gensym.py +0 -0
  141. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/utils/identifier.py +0 -0
  142. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/utils/inspect.py +0 -0
  143. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/utils/iterator.py +0 -0
  144. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/utils/loader.py +0 -0
  145. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/utils/ordering.py +0 -0
  146. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/utils/string.py +0 -0
  147. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/utils/uninit.py +0 -0
  148. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2/utils/unionfind.py +0 -0
  149. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2.egg-info/dependency_links.txt +0 -0
  150. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2.egg-info/requires.txt +0 -0
  151. {fpy2-0.2.0 → fpy2-0.2.1}/fpy2.egg-info/top_level.txt +0 -0
  152. {fpy2-0.2.0 → fpy2-0.2.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fpy2
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: An embedded DSL for numerical computing
5
5
  Author-email: Brett Saiki <bsaiki@cs.washington.edu>
6
6
  License-Expression: MIT
@@ -1,5 +1,6 @@
1
1
  """Program analyses for FPy programs"""
2
2
 
3
+ from .alias import Alias, AliasAnalysis, AllocSite
3
4
  from .array_size import (
4
5
  ArraySize,
5
6
  ArraySizeAnalysis,
@@ -19,6 +20,7 @@ from .context_use import (
19
20
  )
20
21
  from .define_use import DefCtx, DefineUse, DefineUseAnalysis, UseSite
21
22
  from .defs import DefAnalysis
23
+ from .escape import Escape, EscapeSummary
22
24
  from .format_infer import FormatAnalysis, FormatInfer
23
25
  from .live_vars import LiveVars
24
26
  from .partial_eval import PartialEval, PartialEvalInfo