pytensor 2.22.0__tar.gz → 2.22.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.
- {pytensor-2.22.0/pytensor.egg-info → pytensor-2.22.1}/PKG-INFO +1 -1
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/__init__.py +1 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/_version.py +3 -3
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/graph/basic.py +2 -2
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/graph/rewriting/basic.py +1 -1
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/numba/dispatch/basic.py +55 -21
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/rewriting/basic.py +1 -4
- {pytensor-2.22.0 → pytensor-2.22.1/pytensor.egg-info}/PKG-INFO +1 -1
- {pytensor-2.22.0 → pytensor-2.22.1}/LICENSE.txt +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/MANIFEST.in +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/README.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/.templates/PLACEHOLDER +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/.templates/layout.html +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/LICENSE.txt +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/README.md +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/acknowledgement.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/bcast.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/bcast.svg +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/conf.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/core_development_guide.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/css.inc +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/dev_start_guide.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/environment.yml +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/apply.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/apply.svg +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/apply2.svg +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/creating_a_c_op.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/creating_a_numba_jax_op.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/creating_an_op.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/ctype.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/extending_faq.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/extending_pytensor_solution_1.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/graph_rewriting.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/graphstructures.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/index.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/inplace.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/op.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/other_ops.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/pics/symbolic_graph_opt.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/pics/symbolic_graph_unopt.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/pipeline.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/scan.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/tips.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/type.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/unittest.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/extending/using_params.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/faq.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/generate_dtype_tensor_table.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/glossary.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/images/Elman_srnn.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/images/PyTensor_RGB.svg +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/images/blocksparse.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/images/lstm.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/images/lstm_memorycell.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/images/talk2010.gif +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/images/talk2010.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/index.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/install.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/internal/how_to_release.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/internal/index.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/internal/metadocumentation.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/introduction.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/compile/debugmode.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/compile/function.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/compile/index.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/compile/io.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/compile/mode.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/compile/nanguardmode.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/compile/opfromgraph.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/compile/ops.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/compile/profilemode.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/compile/shared.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/config.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/d3viz/examples/d3viz/css/d3-context-menu.css +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/d3viz/examples/d3viz/css/d3viz.css +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/d3viz/examples/d3viz/js/d3-context-menu.js +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/d3viz/examples/d3viz/js/d3.v3.min.js +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/d3viz/examples/d3viz/js/d3viz.js +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/d3viz/examples/d3viz/js/dagre-d3.min.js +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/d3viz/examples/d3viz/js/graphlib-dot.min.js +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/d3viz/examples/mlp.html +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/d3viz/examples/mlp.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/d3viz/examples/mlp2.html +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/d3viz/examples/mlp2.pdf +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/d3viz/examples/mlp2.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/d3viz/examples/ofg.html +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/d3viz/examples/ofg2.html +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/d3viz/index.ipynb +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/d3viz/index.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/d3viz/index_files/index_10_0.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/d3viz/index_files/index_11_0.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/d3viz/index_files/index_24_0.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/d3viz/index_files/index_25_0.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/gradient.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/graph/features.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/graph/fgraph.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/graph/graph.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/graph/index.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/graph/op.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/graph/type.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/graph/utils.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/index.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/misc/pkl_utils.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/printing.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/sandbox/index.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/sandbox/linalg.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/scalar/index.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/scan.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/sparse/index.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/sparse/sandbox.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/tensor/basic.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/tensor/basic_opt.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/tensor/bcast.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/tensor/bcast.svg +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/tensor/conv.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/tensor/elemwise.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/tensor/extra_ops.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/tensor/fft.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/tensor/index.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/tensor/io.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/tensor/math_opt.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/tensor/nlinalg.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/tensor/plot_fft.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/tensor/random/basic.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/tensor/random/index.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/tensor/random/utils.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/tensor/slinalg.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/tensor/utils.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/library/typed_list.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/links.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/optimizations.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/pylintrc +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/sandbox/ccodegen.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/sandbox/compilation.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/sandbox/debugging_with_stepmode.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/sandbox/elemwise_compiler.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/sandbox/function.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/sandbox/functional.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/sandbox/how_to_make_ops.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/sandbox/index.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/sandbox/index2.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/sandbox/interactive_debugger.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/sandbox/logistic_regression_example.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/sandbox/performance.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/sandbox/randomnumbers.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/sandbox/rethinkccodegen.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/sandbox/sandbox.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/sandbox/software.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/sandbox/sparse.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/sandbox/tensoroptools.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/troubleshooting.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/adding.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/adding_solution_1.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/aliasing.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/apply.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/apply.svg +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/bcast.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/broadcasting.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/conditions.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/debug_faq.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/dlogistic.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/examples.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/faq_tutorial.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/gradients.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/index.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/loading_and_saving.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/logistic.gp +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/logistic.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/loop.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/loop_solution_1.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/modes.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/modes_solution_1.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/multi_cores.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/nan_tutorial.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/pics/d3viz.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/pics/logreg_pydotprint_predict.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/pics/logreg_pydotprint_prediction.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/pics/logreg_pydotprint_train.png +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/printing_drawing.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/profiling.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/profiling_example.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/profiling_example_out.prof +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/shape_info.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/sparse.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/tutorial/symbolic_graphs.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/doc/user_guide.rst +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pyproject.toml +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/bin/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/bin/pytensor_cache.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/breakpoint.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/compile/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/compile/builders.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/compile/compiledir.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/compile/compilelock.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/compile/debugmode.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/compile/function/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/compile/function/pfunc.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/compile/function/types.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/compile/io.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/compile/mode.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/compile/monitormode.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/compile/nanguardmode.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/compile/ops.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/compile/profiling.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/compile/sharedvalue.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/configdefaults.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/configparser.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/d3viz/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/d3viz/css/d3-context-menu.css +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/d3viz/css/d3viz.css +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/d3viz/d3viz.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/d3viz/formatting.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/d3viz/js/d3-context-menu.js +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/d3viz/js/d3.v3.min.js +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/d3viz/js/d3viz.js +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/d3viz/js/dagre-d3.min.js +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/d3viz/js/graphlib-dot.min.js +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/gradient.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/graph/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/graph/destroyhandler.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/graph/features.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/graph/fg.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/graph/null_type.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/graph/op.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/graph/replace.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/graph/rewriting/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/graph/rewriting/db.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/graph/rewriting/kanren.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/graph/rewriting/unify.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/graph/rewriting/utils.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/graph/type.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/graph/utils.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/ifelse.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/basic.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/c/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/c/basic.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/c/c_code/lazylinker_c.c +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/c/c_code/pytensor_mod_helper.h +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/c/cmodule.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/c/cutils.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/c/cvm.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/c/exceptions.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/c/interface.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/c/lazylinker_c.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/c/op.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/c/params_type.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/c/type.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/jax/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/jax/dispatch/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/jax/dispatch/basic.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/jax/dispatch/blockwise.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/jax/dispatch/elemwise.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/jax/dispatch/extra_ops.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/jax/dispatch/nlinalg.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/jax/dispatch/random.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/jax/dispatch/scalar.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/jax/dispatch/scan.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/jax/dispatch/shape.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/jax/dispatch/slinalg.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/jax/dispatch/sparse.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/jax/dispatch/subtensor.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/jax/dispatch/tensor_basic.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/jax/linker.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/numba/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/numba/dispatch/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/numba/dispatch/cython_support.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/numba/dispatch/elemwise.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/numba/dispatch/elemwise_codegen.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/numba/dispatch/extra_ops.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/numba/dispatch/nlinalg.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/numba/dispatch/random.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/numba/dispatch/scalar.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/numba/dispatch/scan.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/numba/dispatch/slinalg.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/numba/dispatch/sparse.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/numba/dispatch/tensor_basic.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/numba/linker.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/utils.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/link/vm.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/misc/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/misc/check_blas.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/misc/check_blas_many.sh +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/misc/check_duplicate_key.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/misc/elemwise_openmp_speedup.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/misc/elemwise_time_test.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/misc/frozendict.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/misc/may_share_memory.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/misc/ordered_set.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/misc/pkl_utils.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/misc/safe_asarray.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/printing.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/py.typed +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/raise_op.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/scalar/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/scalar/basic.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/scalar/c_code/Faddeeva.cc +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/scalar/c_code/Faddeeva.hh +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/scalar/c_code/gamma.c +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/scalar/loop.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/scalar/math.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/scalar/sharedvar.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/scan/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/scan/basic.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/scan/checkpoints.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/scan/op.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/scan/rewriting.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/scan/scan_perform.pyx +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/scan/scan_perform_ext.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/scan/utils.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/scan/views.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/sparse/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/sparse/basic.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/sparse/rewriting.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/sparse/sandbox/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/sparse/sandbox/sp.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/sparse/sandbox/sp2.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/sparse/sharedvar.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/sparse/type.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/sparse/utils.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/basic.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/blas.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/blas_c.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/blas_headers.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/blas_scipy.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/blockwise.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/c_code/alt_blas_common.h +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/c_code/alt_blas_template.c +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/c_code/dimshuffle.c +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/conv/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/conv/abstract_conv.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/elemwise.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/elemwise_cgen.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/exceptions.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/extra_ops.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/fft.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/fourier.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/functional.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/inplace.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/io.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/linalg.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/math.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/nlinalg.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/random/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/random/basic.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/random/op.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/random/rewriting/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/random/rewriting/basic.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/random/rewriting/jax.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/random/type.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/random/utils.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/random/var.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/rewriting/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/rewriting/blas.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/rewriting/blas_c.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/rewriting/blas_scipy.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/rewriting/blockwise.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/rewriting/elemwise.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/rewriting/extra_ops.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/rewriting/jax.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/rewriting/linalg.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/rewriting/math.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/rewriting/shape.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/rewriting/special.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/rewriting/subtensor.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/rewriting/uncanonicalize.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/shape.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/sharedvar.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/slinalg.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/sort.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/special.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/subtensor.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/type.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/type_other.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/utils.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/var.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/variable.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/tensor/xlogx.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/typed_list/__init__.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/typed_list/basic.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/typed_list/rewriting.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/typed_list/type.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/updates.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/utils.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor/version.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor.egg-info/SOURCES.txt +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor.egg-info/dependency_links.txt +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor.egg-info/entry_points.txt +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor.egg-info/requires.txt +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/pytensor.egg-info/top_level.txt +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/scripts/mypy-failing.txt +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/setup.cfg +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/setup.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/tests/link/c/c_code/test_cenum.h +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/tests/link/c/c_code/test_quadratic_function.c +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/tests/tensor/conv/c_code/corr3d_gemm.c +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/tests/tensor/conv/c_code/corr_gemm.c +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/tests/test_breakpoint.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/tests/test_config.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/tests/test_gradient.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/tests/test_ifelse.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/tests/test_printing.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/tests/test_raise_op.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/tests/test_rop.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/tests/test_updates.py +0 -0
- {pytensor-2.22.0 → pytensor-2.22.1}/versioneer.py +0 -0
|
@@ -159,6 +159,7 @@ def get_underlying_scalar_constant(v):
|
|
|
159
159
|
# isort: off
|
|
160
160
|
import pytensor.tensor.random.var
|
|
161
161
|
import pytensor.sparse
|
|
162
|
+
from pytensor.ifelse import ifelse
|
|
162
163
|
from pytensor.scan import checkpoints
|
|
163
164
|
from pytensor.scan.basic import scan
|
|
164
165
|
from pytensor.scan.views import foldl, foldr, map, reduce
|
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "2024-05-
|
|
11
|
+
"date": "2024-05-28T12:10:34+0200",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "2.22.
|
|
14
|
+
"full-revisionid": "fc21336a67334241d1c9a59383084ce453988d4e",
|
|
15
|
+
"version": "2.22.1"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
|
@@ -266,7 +266,7 @@ class Apply(Node, Generic[OpType]):
|
|
|
266
266
|
|
|
267
267
|
assert isinstance(inputs, list | tuple)
|
|
268
268
|
remake_node = False
|
|
269
|
-
new_inputs: list[
|
|
269
|
+
new_inputs: list[Variable] = list(inputs)
|
|
270
270
|
|
|
271
271
|
# Some Ops like Alloc require the node to always be rebuilt in non-strict mode
|
|
272
272
|
# as the output type depends on the input values and not just their types
|
|
@@ -1272,7 +1272,7 @@ def clone_node_and_cache(
|
|
|
1272
1272
|
return None
|
|
1273
1273
|
|
|
1274
1274
|
# Use a cached `Op` clone when available
|
|
1275
|
-
new_op:
|
|
1275
|
+
new_op: Op | None = cast(Optional["Op"], clone_d.get(node.op))
|
|
1276
1276
|
|
|
1277
1277
|
cloned_inputs: list[Variable] = [cast(Variable, clone_d[i]) for i in node.inputs]
|
|
1278
1278
|
|
|
@@ -1577,7 +1577,7 @@ class PatternNodeRewriter(NodeRewriter):
|
|
|
1577
1577
|
"""
|
|
1578
1578
|
from pytensor.graph.rewriting.unify import convert_strs_to_vars
|
|
1579
1579
|
|
|
1580
|
-
var_map: dict[str,
|
|
1580
|
+
var_map: dict[str, Var] = {}
|
|
1581
1581
|
self.in_pattern = convert_strs_to_vars(in_pattern, var_map=var_map)
|
|
1582
1582
|
self.out_pattern = convert_strs_to_vars(out_pattern, var_map=var_map)
|
|
1583
1583
|
self.values_eq_approx = values_eq_approx
|
|
@@ -604,36 +604,70 @@ def numba_funcify_IncSubtensor(op, node, **kwargs):
|
|
|
604
604
|
return numba_njit(incsubtensor_fn, boundscheck=True)
|
|
605
605
|
|
|
606
606
|
|
|
607
|
-
@numba_njit(boundscheck=True)
|
|
608
|
-
def advancedincsubtensor1_inplace_set(x, vals, idxs):
|
|
609
|
-
for idx, val in zip(idxs, vals):
|
|
610
|
-
x[idx] = val
|
|
611
|
-
return x
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
@numba_njit(boundscheck=True)
|
|
615
|
-
def advancedincsubtensor1_inplace_inc(x, vals, idxs):
|
|
616
|
-
for idx, val in zip(idxs, vals):
|
|
617
|
-
x[idx] += val
|
|
618
|
-
return x
|
|
619
|
-
|
|
620
|
-
|
|
621
607
|
@numba_funcify.register(AdvancedIncSubtensor1)
|
|
622
608
|
def numba_funcify_AdvancedIncSubtensor1(op, node, **kwargs):
|
|
623
609
|
inplace = op.inplace
|
|
624
610
|
set_instead_of_inc = op.set_instead_of_inc
|
|
611
|
+
x, vals, idxs = node.inputs
|
|
612
|
+
# TODO: Add explicit expand_dims in make_node so we don't need to worry about this here
|
|
613
|
+
broadcast = vals.type.ndim < x.type.ndim or vals.type.broadcastable[0]
|
|
625
614
|
|
|
626
615
|
if set_instead_of_inc:
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
616
|
+
if broadcast:
|
|
617
|
+
|
|
618
|
+
@numba_njit(boundscheck=True)
|
|
619
|
+
def advancedincsubtensor1_inplace(x, val, idxs):
|
|
620
|
+
if val.ndim == x.ndim:
|
|
621
|
+
core_val = val[0]
|
|
622
|
+
elif val.ndim == 0:
|
|
623
|
+
# Workaround for https://github.com/numba/numba/issues/9573
|
|
624
|
+
core_val = val.item()
|
|
625
|
+
else:
|
|
626
|
+
core_val = val
|
|
627
|
+
|
|
628
|
+
for idx in idxs:
|
|
629
|
+
x[idx] = core_val
|
|
630
|
+
return x
|
|
631
|
+
|
|
632
|
+
else:
|
|
633
|
+
|
|
634
|
+
@numba_njit(boundscheck=True)
|
|
635
|
+
def advancedincsubtensor1_inplace(x, vals, idxs):
|
|
636
|
+
if not len(idxs) == len(vals):
|
|
637
|
+
raise ValueError("The number of indices and values must match.")
|
|
638
|
+
for idx, val in zip(idxs, vals):
|
|
639
|
+
x[idx] = val
|
|
640
|
+
return x
|
|
630
641
|
else:
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
642
|
+
if broadcast:
|
|
643
|
+
|
|
644
|
+
@numba_njit(boundscheck=True)
|
|
645
|
+
def advancedincsubtensor1_inplace(x, val, idxs):
|
|
646
|
+
if val.ndim == x.ndim:
|
|
647
|
+
core_val = val[0]
|
|
648
|
+
elif val.ndim == 0:
|
|
649
|
+
# Workaround for https://github.com/numba/numba/issues/9573
|
|
650
|
+
core_val = val.item()
|
|
651
|
+
else:
|
|
652
|
+
core_val = val
|
|
653
|
+
|
|
654
|
+
for idx in idxs:
|
|
655
|
+
x[idx] += core_val
|
|
656
|
+
return x
|
|
657
|
+
|
|
658
|
+
else:
|
|
659
|
+
|
|
660
|
+
@numba_njit(boundscheck=True)
|
|
661
|
+
def advancedincsubtensor1_inplace(x, vals, idxs):
|
|
662
|
+
if not len(idxs) == len(vals):
|
|
663
|
+
raise ValueError("The number of indices and values must match.")
|
|
664
|
+
for idx, val in zip(idxs, vals):
|
|
665
|
+
x[idx] += val
|
|
666
|
+
return x
|
|
634
667
|
|
|
635
668
|
if inplace:
|
|
636
|
-
return
|
|
669
|
+
return advancedincsubtensor1_inplace
|
|
670
|
+
|
|
637
671
|
else:
|
|
638
672
|
|
|
639
673
|
@numba_njit
|
|
@@ -351,10 +351,7 @@ def local_fill_sink(fgraph, node):
|
|
|
351
351
|
# Check if we need to propagate the fill to the new outputs
|
|
352
352
|
# It's enough to check the first output, as Elemwise outputs must all have the same shapes
|
|
353
353
|
# Note: There are orderings that may require fewer fills.
|
|
354
|
-
|
|
355
|
-
models_iter = iter(models)
|
|
356
|
-
while old_bcast_pattern != outputs[0].type.broadcastable:
|
|
357
|
-
model = next(models_iter)
|
|
354
|
+
for model in models:
|
|
358
355
|
# Only apply this model if it would actually do anything
|
|
359
356
|
if broadcasted_by(outputs[0], model):
|
|
360
357
|
outputs = [fill(model, output) for output in outputs]
|
|
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
|
|
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
|
{pytensor-2.22.0 → pytensor-2.22.1}/doc/library/d3viz/examples/d3viz/css/d3-context-menu.css
RENAMED
|
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
|
|
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
|
|
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
|