提交 bb999046 authored 作者: Brandon T. Willard's avatar Brandon T. Willard 提交者: Brandon T. Willard

Use C version of time in scan_perform.pyx

上级 deca03cf
...@@ -682,6 +682,8 @@ static CYTHON_INLINE float __PYX_NAN() { ...@@ -682,6 +682,8 @@ static CYTHON_INLINE float __PYX_NAN() {
#define __PYX_HAVE__aesara__scan__scan_perform #define __PYX_HAVE__aesara__scan__scan_perform
#define __PYX_HAVE_API__aesara__scan__scan_perform #define __PYX_HAVE_API__aesara__scan__scan_perform
/* Early includes */ /* Early includes */
#include <stddef.h>
#include <time.h>
#include <string.h> #include <string.h>
#include <stdio.h> #include <stdio.h>
#include "numpy/arrayobject.h" #include "numpy/arrayobject.h"
...@@ -2205,6 +2207,9 @@ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); ...@@ -2205,6 +2207,9 @@ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
/* CIntToPy.proto */ /* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);
/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_time_t(time_t value);
/* CIntFromPy.proto */ /* CIntFromPy.proto */
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
...@@ -2228,6 +2233,10 @@ static PyObject *__pyx_memoryview_assign_item_from_object(struct __pyx_memoryvie ...@@ -2228,6 +2233,10 @@ static PyObject *__pyx_memoryview_assign_item_from_object(struct __pyx_memoryvie
static PyObject *__pyx_memoryviewslice_convert_item_to_object(struct __pyx_memoryviewslice_obj *__pyx_v_self, char *__pyx_v_itemp); /* proto*/ static PyObject *__pyx_memoryviewslice_convert_item_to_object(struct __pyx_memoryviewslice_obj *__pyx_v_self, char *__pyx_v_itemp); /* proto*/
static PyObject *__pyx_memoryviewslice_assign_item_from_object(struct __pyx_memoryviewslice_obj *__pyx_v_self, char *__pyx_v_itemp, PyObject *__pyx_v_value); /* proto*/ static PyObject *__pyx_memoryviewslice_assign_item_from_object(struct __pyx_memoryviewslice_obj *__pyx_v_self, char *__pyx_v_itemp, PyObject *__pyx_v_value); /* proto*/
/* Module declarations from 'libc.stddef' */
/* Module declarations from 'libc.time' */
/* Module declarations from 'cython.view' */ /* Module declarations from 'cython.view' */
/* Module declarations from 'cython' */ /* Module declarations from 'cython' */
...@@ -2373,7 +2382,6 @@ static const char __pyx_k_step[] = "step"; ...@@ -2373,7 +2382,6 @@ static const char __pyx_k_step[] = "step";
static const char __pyx_k_stop[] = "stop"; static const char __pyx_k_stop[] = "stop";
static const char __pyx_k_t_fn[] = "t_fn"; static const char __pyx_k_t_fn[] = "t_fn";
static const char __pyx_k_test[] = "__test__"; static const char __pyx_k_test[] = "__test__";
static const char __pyx_k_time[] = "time";
static const char __pyx_k_ASCII[] = "ASCII"; static const char __pyx_k_ASCII[] = "ASCII";
static const char __pyx_k_begin[] = "begin"; static const char __pyx_k_begin[] = "begin";
static const char __pyx_k_class[] = "__class__"; static const char __pyx_k_class[] = "__class__";
...@@ -2711,7 +2719,6 @@ static PyObject *__pyx_n_s_tap_array_j; ...@@ -2711,7 +2719,6 @@ static PyObject *__pyx_n_s_tap_array_j;
static PyObject *__pyx_n_s_tap_array_len; static PyObject *__pyx_n_s_tap_array_len;
static PyObject *__pyx_n_s_tdx; static PyObject *__pyx_n_s_tdx;
static PyObject *__pyx_n_s_test; static PyObject *__pyx_n_s_test;
static PyObject *__pyx_n_s_time;
static PyObject *__pyx_n_s_tmp; static PyObject *__pyx_n_s_tmp;
static PyObject *__pyx_kp_s_unable_to_allocate_array_data; static PyObject *__pyx_kp_s_unable_to_allocate_array_data;
static PyObject *__pyx_kp_s_unable_to_allocate_shape_and_str; static PyObject *__pyx_kp_s_unable_to_allocate_shape_and_str;
...@@ -2769,7 +2776,7 @@ static PyObject *__pyx_tp_new_Enum(PyTypeObject *t, PyObject *a, PyObject *k); / ...@@ -2769,7 +2776,7 @@ static PyObject *__pyx_tp_new_Enum(PyTypeObject *t, PyObject *a, PyObject *k); /
static PyObject *__pyx_tp_new_memoryview(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_memoryview(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new__memoryviewslice(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new__memoryviewslice(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_float_0_0; static PyObject *__pyx_float_0_0;
static PyObject *__pyx_float_0_319; static PyObject *__pyx_float_0_320;
static PyObject *__pyx_int_0; static PyObject *__pyx_int_0;
static PyObject *__pyx_int_1; static PyObject *__pyx_int_1;
static PyObject *__pyx_int_184977713; static PyObject *__pyx_int_184977713;
...@@ -2813,7 +2820,7 @@ static PyObject *__pyx_codeobj__33; ...@@ -2813,7 +2820,7 @@ static PyObject *__pyx_codeobj__33;
* *
* *
* def get_version(): # <<<<<<<<<<<<<< * def get_version(): # <<<<<<<<<<<<<<
* return 0.319 * return 0.320
* *
*/ */
...@@ -2839,20 +2846,20 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_get_version(CYTHON_UNUSED ...@@ -2839,20 +2846,20 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_get_version(CYTHON_UNUSED
/* "aesara/scan/scan_perform.pyx":65 /* "aesara/scan/scan_perform.pyx":65
* *
* def get_version(): * def get_version():
* return 0.319 # <<<<<<<<<<<<<< * return 0.320 # <<<<<<<<<<<<<<
* *
* # TODO: We need to get rid of the negative indexing performed with `pos` and `l`. * # TODO: We need to get rid of the negative indexing performed with `pos` and `l`.
*/ */
__Pyx_XDECREF(__pyx_r); __Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_float_0_319); __Pyx_INCREF(__pyx_float_0_320);
__pyx_r = __pyx_float_0_319; __pyx_r = __pyx_float_0_320;
goto __pyx_L0; goto __pyx_L0;
/* "aesara/scan/scan_perform.pyx":64 /* "aesara/scan/scan_perform.pyx":64
* *
* *
* def get_version(): # <<<<<<<<<<<<<< * def get_version(): # <<<<<<<<<<<<<<
* return 0.319 * return 0.320
* *
*/ */
...@@ -3239,9 +3246,9 @@ static PyObject *__pyx_pw_6aesara_4scan_12scan_perform_3perform(PyObject *__pyx_ ...@@ -3239,9 +3246,9 @@ static PyObject *__pyx_pw_6aesara_4scan_12scan_perform_3perform(PyObject *__pyx_
} }
static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_n_shared_outs, unsigned int __pyx_v_n_mit_mot_outs, unsigned int __pyx_v_n_seqs, unsigned int __pyx_v_n_mit_mot, unsigned int __pyx_v_n_mit_sot, unsigned int __pyx_v_n_sit_sot, unsigned int __pyx_v_n_nit_sot, int __pyx_v_as_while, __Pyx_memviewslice __pyx_v_mintaps, __Pyx_memviewslice __pyx_v_pos, __Pyx_memviewslice __pyx_v_store_steps, PyObject *__pyx_v_tap_array, PyObject *__pyx_v_tap_array_len, __Pyx_memviewslice __pyx_v_vector_seqs, __Pyx_memviewslice __pyx_v_vector_outs, PyObject *__pyx_v_mit_mot_out_slices, __Pyx_memviewslice __pyx_v_mitmots_preallocated, __Pyx_memviewslice __pyx_v_outs_is_tensor, PyObject *__pyx_v_inner_input_storage, PyObject *__pyx_v_inner_output_storage, __Pyx_memviewslice __pyx_v_destroy_map, PyObject *__pyx_v_outer_inputs, PyObject *__pyx_v_outer_outputs, PyObject *__pyx_v_outer_output_dtypes, PyObject *__pyx_v_outer_output_ndims, PyObject *__pyx_v_fn) { static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED PyObject *__pyx_self, unsigned int __pyx_v_n_shared_outs, unsigned int __pyx_v_n_mit_mot_outs, unsigned int __pyx_v_n_seqs, unsigned int __pyx_v_n_mit_mot, unsigned int __pyx_v_n_mit_sot, unsigned int __pyx_v_n_sit_sot, unsigned int __pyx_v_n_nit_sot, int __pyx_v_as_while, __Pyx_memviewslice __pyx_v_mintaps, __Pyx_memviewslice __pyx_v_pos, __Pyx_memviewslice __pyx_v_store_steps, PyObject *__pyx_v_tap_array, PyObject *__pyx_v_tap_array_len, __Pyx_memviewslice __pyx_v_vector_seqs, __Pyx_memviewslice __pyx_v_vector_outs, PyObject *__pyx_v_mit_mot_out_slices, __Pyx_memviewslice __pyx_v_mitmots_preallocated, __Pyx_memviewslice __pyx_v_outs_is_tensor, PyObject *__pyx_v_inner_input_storage, PyObject *__pyx_v_inner_output_storage, __Pyx_memviewslice __pyx_v_destroy_map, PyObject *__pyx_v_outer_inputs, PyObject *__pyx_v_outer_outputs, PyObject *__pyx_v_outer_output_dtypes, PyObject *__pyx_v_outer_output_ndims, PyObject *__pyx_v_fn) {
float __pyx_v_t_fn; time_t __pyx_v_t_fn;
float __pyx_v_t0_fn; time_t __pyx_v_t0_fn;
float __pyx_v_dt_fn; time_t __pyx_v_dt_fn;
unsigned int __pyx_v_n_steps; unsigned int __pyx_v_n_steps;
unsigned int __pyx_v_n_outs; unsigned int __pyx_v_n_outs;
unsigned int __pyx_v_seqs_arg_offset; unsigned int __pyx_v_seqs_arg_offset;
...@@ -3318,21 +3325,20 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -3318,21 +3325,20 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
int __pyx_t_17; int __pyx_t_17;
Py_ssize_t __pyx_t_18; Py_ssize_t __pyx_t_18;
PyObject *(*__pyx_t_19)(PyObject *); PyObject *(*__pyx_t_19)(PyObject *);
float __pyx_t_20; PyObject *__pyx_t_20 = NULL;
PyObject *__pyx_t_21 = NULL; PyObject *__pyx_t_21 = NULL;
PyObject *__pyx_t_22 = NULL; PyObject *__pyx_t_22 = NULL;
PyObject *__pyx_t_23 = NULL; PyObject *__pyx_t_23 = NULL;
PyObject *__pyx_t_24 = NULL; PyObject *__pyx_t_24 = NULL;
PyObject *__pyx_t_25 = NULL; PyObject *__pyx_t_25 = NULL;
PyObject *__pyx_t_26 = NULL; PyObject *__pyx_t_26 = NULL;
PyObject *__pyx_t_27 = NULL; char const *__pyx_t_27;
char const *__pyx_t_28; PyObject *__pyx_t_28 = NULL;
PyObject *__pyx_t_29 = NULL; PyObject *__pyx_t_29 = NULL;
PyObject *__pyx_t_30 = NULL; PyObject *__pyx_t_30 = NULL;
PyObject *__pyx_t_31 = NULL; PyObject *__pyx_t_31 = NULL;
PyObject *__pyx_t_32 = NULL; PyObject *__pyx_t_32 = NULL;
PyObject *__pyx_t_33 = NULL; PyObject *__pyx_t_33 = NULL;
PyObject *__pyx_t_34 = NULL;
int __pyx_lineno = 0; int __pyx_lineno = 0;
const char *__pyx_filename = NULL; const char *__pyx_filename = NULL;
int __pyx_clineno = 0; int __pyx_clineno = 0;
...@@ -3341,15 +3347,15 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -3341,15 +3347,15 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
/* "aesara/scan/scan_perform.pyx":167 /* "aesara/scan/scan_perform.pyx":167
* # 1. Unzip the number of steps and sequences. If number of steps is * # 1. Unzip the number of steps and sequences. If number of steps is
* # negative flip sequences around, and make n_steps positive * # negative flip sequences around, and make n_steps positive
* cdef float t_fn = 0 # <<<<<<<<<<<<<< * cdef time_t t_fn = 0 # <<<<<<<<<<<<<<
* cdef float t0_fn * cdef time_t t0_fn
* cdef float dt_fn * cdef time_t dt_fn
*/ */
__pyx_v_t_fn = 0.0; __pyx_v_t_fn = 0;
/* "aesara/scan/scan_perform.pyx":170 /* "aesara/scan/scan_perform.pyx":170
* cdef float t0_fn * cdef time_t t0_fn
* cdef float dt_fn * cdef time_t dt_fn
* cdef unsigned int n_steps = outer_inputs[0].item() # <<<<<<<<<<<<<< * cdef unsigned int n_steps = outer_inputs[0].item() # <<<<<<<<<<<<<<
* cdef unsigned int n_outs = n_mit_mot + n_mit_sot + n_sit_sot * cdef unsigned int n_outs = n_mit_mot + n_mit_sot + n_sit_sot
* cdef unsigned int seqs_arg_offset = n_seqs + 1 * cdef unsigned int seqs_arg_offset = n_seqs + 1
...@@ -3376,7 +3382,7 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -3376,7 +3382,7 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
__pyx_v_n_steps = __pyx_t_4; __pyx_v_n_steps = __pyx_t_4;
/* "aesara/scan/scan_perform.pyx":171 /* "aesara/scan/scan_perform.pyx":171
* cdef float dt_fn * cdef time_t dt_fn
* cdef unsigned int n_steps = outer_inputs[0].item() * cdef unsigned int n_steps = outer_inputs[0].item()
* cdef unsigned int n_outs = n_mit_mot + n_mit_sot + n_sit_sot # <<<<<<<<<<<<<< * cdef unsigned int n_outs = n_mit_mot + n_mit_sot + n_sit_sot # <<<<<<<<<<<<<<
* cdef unsigned int seqs_arg_offset = n_seqs + 1 * cdef unsigned int seqs_arg_offset = n_seqs + 1
...@@ -5320,36 +5326,14 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -5320,36 +5326,14 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
/* "aesara/scan/scan_perform.pyx":410 /* "aesara/scan/scan_perform.pyx":410
* *
* # 5.1 compute outputs * # 5.1 compute outputs
* t0_fn = time.time() # <<<<<<<<<<<<<< * t0_fn = time(NULL) # <<<<<<<<<<<<<<
* *
* try: * try:
*/ */
__Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_time); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 410, __pyx_L1_error) __pyx_v_t0_fn = time(NULL);
__Pyx_GOTREF(__pyx_t_16);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_time); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 410, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__pyx_t_16 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_16 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_16)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_16);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_3 = (__pyx_t_16) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_16) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 410, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_20 = __pyx_PyFloat_AsFloat(__pyx_t_3); if (unlikely((__pyx_t_20 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 410, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_t0_fn = __pyx_t_20;
/* "aesara/scan/scan_perform.pyx":412 /* "aesara/scan/scan_perform.pyx":412
* t0_fn = time.time() * t0_fn = time(NULL)
* *
* try: # <<<<<<<<<<<<<< * try: # <<<<<<<<<<<<<<
* fn() * fn()
...@@ -5358,10 +5342,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -5358,10 +5342,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
{ {
__Pyx_PyThreadState_declare __Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign __Pyx_PyThreadState_assign
__Pyx_ExceptionSave(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); __Pyx_ExceptionSave(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22);
__Pyx_XGOTREF(__pyx_t_20);
__Pyx_XGOTREF(__pyx_t_21); __Pyx_XGOTREF(__pyx_t_21);
__Pyx_XGOTREF(__pyx_t_22); __Pyx_XGOTREF(__pyx_t_22);
__Pyx_XGOTREF(__pyx_t_23);
/*try:*/ { /*try:*/ {
/* "aesara/scan/scan_perform.pyx":413 /* "aesara/scan/scan_perform.pyx":413
...@@ -5372,34 +5356,34 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -5372,34 +5356,34 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* raise InnerFunctionError(exc, sys.exc_info()[2]) * raise InnerFunctionError(exc, sys.exc_info()[2])
*/ */
__Pyx_INCREF(__pyx_v_fn); __Pyx_INCREF(__pyx_v_fn);
__pyx_t_2 = __pyx_v_fn; __pyx_t_16 = NULL; __pyx_t_16 = __pyx_v_fn; __pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_16))) {
__pyx_t_16 = PyMethod_GET_SELF(__pyx_t_2); __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_16);
if (likely(__pyx_t_16)) { if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16);
__Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function); __Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function); __Pyx_DECREF_SET(__pyx_t_16, function);
} }
} }
__pyx_t_3 = (__pyx_t_16) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_16) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_16, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_16);
__Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 413, __pyx_L70_error) if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 413, __pyx_L70_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "aesara/scan/scan_perform.pyx":412 /* "aesara/scan/scan_perform.pyx":412
* t0_fn = time.time() * t0_fn = time(NULL)
* *
* try: # <<<<<<<<<<<<<< * try: # <<<<<<<<<<<<<<
* fn() * fn()
* except Exception as exc: * except Exception as exc:
*/ */
} }
__Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0;
__Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
__Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0;
__Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0;
goto __pyx_L77_try_end; goto __pyx_L77_try_end;
__pyx_L70_error:; __pyx_L70_error:;
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
...@@ -5417,12 +5401,12 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -5417,12 +5401,12 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
__pyx_t_17 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); __pyx_t_17 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_17) { if (__pyx_t_17) {
__Pyx_AddTraceback("aesara.scan.scan_perform.perform", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_AddTraceback("aesara.scan.scan_perform.perform", __pyx_clineno, __pyx_lineno, __pyx_filename);
if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_16) < 0) __PYX_ERR(0, 414, __pyx_L72_except_error) if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_16, &__pyx_t_2) < 0) __PYX_ERR(0, 414, __pyx_L72_except_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_3);
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GOTREF(__pyx_t_16); __Pyx_GOTREF(__pyx_t_16);
__Pyx_INCREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_2);
__pyx_v_exc = __pyx_t_2; __Pyx_INCREF(__pyx_t_16);
__pyx_v_exc = __pyx_t_16;
/*try:*/ { /*try:*/ {
/* "aesara/scan/scan_perform.pyx":415 /* "aesara/scan/scan_perform.pyx":415
...@@ -5430,80 +5414,80 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -5430,80 +5414,80 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* except Exception as exc: * except Exception as exc:
* raise InnerFunctionError(exc, sys.exc_info()[2]) # <<<<<<<<<<<<<< * raise InnerFunctionError(exc, sys.exc_info()[2]) # <<<<<<<<<<<<<<
* *
* dt_fn = time.time() - t0_fn * dt_fn = time(NULL) - t0_fn
*/ */
__Pyx_GetModuleGlobalName(__pyx_t_24, __pyx_n_s_InnerFunctionError); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 415, __pyx_L83_error) __Pyx_GetModuleGlobalName(__pyx_t_23, __pyx_n_s_InnerFunctionError); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 415, __pyx_L83_error)
__Pyx_GOTREF(__pyx_t_24); __Pyx_GOTREF(__pyx_t_23);
__Pyx_GetModuleGlobalName(__pyx_t_26, __pyx_n_s_sys); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 415, __pyx_L83_error) __Pyx_GetModuleGlobalName(__pyx_t_25, __pyx_n_s_sys); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 415, __pyx_L83_error)
__Pyx_GOTREF(__pyx_t_26);
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_t_26, __pyx_n_s_exc_info); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 415, __pyx_L83_error)
__Pyx_GOTREF(__pyx_t_27);
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
__pyx_t_26 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_27))) {
__pyx_t_26 = PyMethod_GET_SELF(__pyx_t_27);
if (likely(__pyx_t_26)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_27);
__Pyx_INCREF(__pyx_t_26);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_27, function);
}
}
__pyx_t_25 = (__pyx_t_26) ? __Pyx_PyObject_CallOneArg(__pyx_t_27, __pyx_t_26) : __Pyx_PyObject_CallNoArg(__pyx_t_27);
__Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0;
if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 415, __pyx_L83_error)
__Pyx_GOTREF(__pyx_t_25); __Pyx_GOTREF(__pyx_t_25);
__Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_t_25, __pyx_n_s_exc_info); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 415, __pyx_L83_error)
__pyx_t_27 = __Pyx_GetItemInt(__pyx_t_25, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 415, __pyx_L83_error) __Pyx_GOTREF(__pyx_t_26);
__Pyx_GOTREF(__pyx_t_27);
__Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
__pyx_t_25 = NULL; __pyx_t_25 = NULL;
__pyx_t_17 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_26))) {
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_24))) { __pyx_t_25 = PyMethod_GET_SELF(__pyx_t_26);
__pyx_t_25 = PyMethod_GET_SELF(__pyx_t_24);
if (likely(__pyx_t_25)) { if (likely(__pyx_t_25)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_24); PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_26);
__Pyx_INCREF(__pyx_t_25); __Pyx_INCREF(__pyx_t_25);
__Pyx_INCREF(function); __Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_24, function); __Pyx_DECREF_SET(__pyx_t_26, function);
}
}
__pyx_t_24 = (__pyx_t_25) ? __Pyx_PyObject_CallOneArg(__pyx_t_26, __pyx_t_25) : __Pyx_PyObject_CallNoArg(__pyx_t_26);
__Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0;
if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 415, __pyx_L83_error)
__Pyx_GOTREF(__pyx_t_24);
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
__pyx_t_26 = __Pyx_GetItemInt(__pyx_t_24, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 415, __pyx_L83_error)
__Pyx_GOTREF(__pyx_t_26);
__Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
__pyx_t_24 = NULL;
__pyx_t_17 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_23))) {
__pyx_t_24 = PyMethod_GET_SELF(__pyx_t_23);
if (likely(__pyx_t_24)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23);
__Pyx_INCREF(__pyx_t_24);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_23, function);
__pyx_t_17 = 1; __pyx_t_17 = 1;
} }
} }
#if CYTHON_FAST_PYCALL #if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_24)) { if (PyFunction_Check(__pyx_t_23)) {
PyObject *__pyx_temp[3] = {__pyx_t_25, __pyx_v_exc, __pyx_t_27}; PyObject *__pyx_temp[3] = {__pyx_t_24, __pyx_v_exc, __pyx_t_26};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_24, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 415, __pyx_L83_error) __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 415, __pyx_L83_error)
__Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0;
__Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
} else } else
#endif #endif
#if CYTHON_FAST_PYCCALL #if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_24)) { if (__Pyx_PyFastCFunction_Check(__pyx_t_23)) {
PyObject *__pyx_temp[3] = {__pyx_t_25, __pyx_v_exc, __pyx_t_27}; PyObject *__pyx_temp[3] = {__pyx_t_24, __pyx_v_exc, __pyx_t_26};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_24, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 415, __pyx_L83_error) __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_17, 2+__pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 415, __pyx_L83_error)
__Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0;
__Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
} else } else
#endif #endif
{ {
__pyx_t_26 = PyTuple_New(2+__pyx_t_17); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 415, __pyx_L83_error) __pyx_t_25 = PyTuple_New(2+__pyx_t_17); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 415, __pyx_L83_error)
__Pyx_GOTREF(__pyx_t_26); __Pyx_GOTREF(__pyx_t_25);
if (__pyx_t_25) { if (__pyx_t_24) {
__Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_t_25); __pyx_t_25 = NULL; __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_25, 0, __pyx_t_24); __pyx_t_24 = NULL;
} }
__Pyx_INCREF(__pyx_v_exc); __Pyx_INCREF(__pyx_v_exc);
__Pyx_GIVEREF(__pyx_v_exc); __Pyx_GIVEREF(__pyx_v_exc);
PyTuple_SET_ITEM(__pyx_t_26, 0+__pyx_t_17, __pyx_v_exc); PyTuple_SET_ITEM(__pyx_t_25, 0+__pyx_t_17, __pyx_v_exc);
__Pyx_GIVEREF(__pyx_t_27); __Pyx_GIVEREF(__pyx_t_26);
PyTuple_SET_ITEM(__pyx_t_26, 1+__pyx_t_17, __pyx_t_27); PyTuple_SET_ITEM(__pyx_t_25, 1+__pyx_t_17, __pyx_t_26);
__pyx_t_27 = 0; __pyx_t_26 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_24, __pyx_t_26, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 415, __pyx_L83_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_23, __pyx_t_25, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 415, __pyx_L83_error)
__Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
} }
__Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
__Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_Raise(__pyx_t_1, 0, 0, 0);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__PYX_ERR(0, 415, __pyx_L83_error) __PYX_ERR(0, 415, __pyx_L83_error)
...@@ -5521,37 +5505,37 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -5521,37 +5505,37 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
/*exception exit:*/{ /*exception exit:*/{
__Pyx_PyThreadState_declare __Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign __Pyx_PyThreadState_assign
__pyx_t_29 = 0; __pyx_t_30 = 0; __pyx_t_31 = 0; __pyx_t_32 = 0; __pyx_t_33 = 0; __pyx_t_34 = 0; __pyx_t_28 = 0; __pyx_t_29 = 0; __pyx_t_30 = 0; __pyx_t_31 = 0; __pyx_t_32 = 0; __pyx_t_33 = 0;
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0;
__Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0;
__Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0;
__Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0;
__Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_31, &__pyx_t_32, &__pyx_t_33);
if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_32, &__pyx_t_33, &__pyx_t_34); if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_28, &__pyx_t_29, &__pyx_t_30) < 0)) __Pyx_ErrFetch(&__pyx_t_28, &__pyx_t_29, &__pyx_t_30);
if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_29, &__pyx_t_30, &__pyx_t_31) < 0)) __Pyx_ErrFetch(&__pyx_t_29, &__pyx_t_30, &__pyx_t_31); __Pyx_XGOTREF(__pyx_t_28);
__Pyx_XGOTREF(__pyx_t_29); __Pyx_XGOTREF(__pyx_t_29);
__Pyx_XGOTREF(__pyx_t_30); __Pyx_XGOTREF(__pyx_t_30);
__Pyx_XGOTREF(__pyx_t_31); __Pyx_XGOTREF(__pyx_t_31);
__Pyx_XGOTREF(__pyx_t_32); __Pyx_XGOTREF(__pyx_t_32);
__Pyx_XGOTREF(__pyx_t_33); __Pyx_XGOTREF(__pyx_t_33);
__Pyx_XGOTREF(__pyx_t_34); __pyx_t_17 = __pyx_lineno; __pyx_t_12 = __pyx_clineno; __pyx_t_27 = __pyx_filename;
__pyx_t_17 = __pyx_lineno; __pyx_t_12 = __pyx_clineno; __pyx_t_28 = __pyx_filename;
{ {
__Pyx_DECREF(__pyx_v_exc); __Pyx_DECREF(__pyx_v_exc);
__pyx_v_exc = NULL; __pyx_v_exc = NULL;
} }
if (PY_MAJOR_VERSION >= 3) { if (PY_MAJOR_VERSION >= 3) {
__Pyx_XGIVEREF(__pyx_t_31);
__Pyx_XGIVEREF(__pyx_t_32); __Pyx_XGIVEREF(__pyx_t_32);
__Pyx_XGIVEREF(__pyx_t_33); __Pyx_XGIVEREF(__pyx_t_33);
__Pyx_XGIVEREF(__pyx_t_34); __Pyx_ExceptionReset(__pyx_t_31, __pyx_t_32, __pyx_t_33);
__Pyx_ExceptionReset(__pyx_t_32, __pyx_t_33, __pyx_t_34);
} }
__Pyx_XGIVEREF(__pyx_t_28);
__Pyx_XGIVEREF(__pyx_t_29); __Pyx_XGIVEREF(__pyx_t_29);
__Pyx_XGIVEREF(__pyx_t_30); __Pyx_XGIVEREF(__pyx_t_30);
__Pyx_XGIVEREF(__pyx_t_31); __Pyx_ErrRestore(__pyx_t_28, __pyx_t_29, __pyx_t_30);
__Pyx_ErrRestore(__pyx_t_29, __pyx_t_30, __pyx_t_31); __pyx_t_28 = 0; __pyx_t_29 = 0; __pyx_t_30 = 0; __pyx_t_31 = 0; __pyx_t_32 = 0; __pyx_t_33 = 0;
__pyx_t_29 = 0; __pyx_t_30 = 0; __pyx_t_31 = 0; __pyx_t_32 = 0; __pyx_t_33 = 0; __pyx_t_34 = 0; __pyx_lineno = __pyx_t_17; __pyx_clineno = __pyx_t_12; __pyx_filename = __pyx_t_27;
__pyx_lineno = __pyx_t_17; __pyx_clineno = __pyx_t_12; __pyx_filename = __pyx_t_28;
goto __pyx_L72_except_error; goto __pyx_L72_except_error;
} }
} }
...@@ -5560,16 +5544,16 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -5560,16 +5544,16 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
__pyx_L72_except_error:; __pyx_L72_except_error:;
/* "aesara/scan/scan_perform.pyx":412 /* "aesara/scan/scan_perform.pyx":412
* t0_fn = time.time() * t0_fn = time(NULL)
* *
* try: # <<<<<<<<<<<<<< * try: # <<<<<<<<<<<<<<
* fn() * fn()
* except Exception as exc: * except Exception as exc:
*/ */
__Pyx_XGIVEREF(__pyx_t_20);
__Pyx_XGIVEREF(__pyx_t_21); __Pyx_XGIVEREF(__pyx_t_21);
__Pyx_XGIVEREF(__pyx_t_22); __Pyx_XGIVEREF(__pyx_t_22);
__Pyx_XGIVEREF(__pyx_t_23); __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_21, __pyx_t_22);
__Pyx_ExceptionReset(__pyx_t_21, __pyx_t_22, __pyx_t_23);
goto __pyx_L1_error; goto __pyx_L1_error;
__pyx_L77_try_end:; __pyx_L77_try_end:;
} }
...@@ -5577,43 +5561,15 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -5577,43 +5561,15 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
/* "aesara/scan/scan_perform.pyx":417 /* "aesara/scan/scan_perform.pyx":417
* raise InnerFunctionError(exc, sys.exc_info()[2]) * raise InnerFunctionError(exc, sys.exc_info()[2])
* *
* dt_fn = time.time() - t0_fn # <<<<<<<<<<<<<< * dt_fn = time(NULL) - t0_fn # <<<<<<<<<<<<<<
* t_fn += dt_fn * t_fn += dt_fn
* if as_while: * if as_while:
*/ */
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_time); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 417, __pyx_L1_error) __pyx_v_dt_fn = (time(NULL) - __pyx_v_t0_fn);
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_time); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 417, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_16 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 417, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = PyFloat_FromDouble(__pyx_v_t0_fn); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 417, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = PyNumber_Subtract(__pyx_t_16, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 417, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_20 = __pyx_PyFloat_AsFloat(__pyx_t_2); if (unlikely((__pyx_t_20 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 417, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_dt_fn = __pyx_t_20;
/* "aesara/scan/scan_perform.pyx":418 /* "aesara/scan/scan_perform.pyx":418
* *
* dt_fn = time.time() - t0_fn * dt_fn = time(NULL) - t0_fn
* t_fn += dt_fn # <<<<<<<<<<<<<< * t_fn += dt_fn # <<<<<<<<<<<<<<
* if as_while: * if as_while:
* pdx = offset + n_shared_outs * pdx = offset + n_shared_outs
...@@ -5621,7 +5577,7 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -5621,7 +5577,7 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
__pyx_v_t_fn = (__pyx_v_t_fn + __pyx_v_dt_fn); __pyx_v_t_fn = (__pyx_v_t_fn + __pyx_v_dt_fn);
/* "aesara/scan/scan_perform.pyx":419 /* "aesara/scan/scan_perform.pyx":419
* dt_fn = time.time() - t0_fn * dt_fn = time(NULL) - t0_fn
* t_fn += dt_fn * t_fn += dt_fn
* if as_while: # <<<<<<<<<<<<<< * if as_while: # <<<<<<<<<<<<<<
* pdx = offset + n_shared_outs * pdx = offset + n_shared_outs
...@@ -5648,15 +5604,15 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -5648,15 +5604,15 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
*/ */
__pyx_t_2 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_inner_output_storage, __pyx_v_pdx), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 421, __pyx_L1_error) __pyx_t_2 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_inner_output_storage, __pyx_v_pdx), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 421, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 421, __pyx_L1_error) __pyx_t_16 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 421, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_16);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 421, __pyx_L1_error) __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_16); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 421, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__pyx_v_cond = __pyx_t_12; __pyx_v_cond = __pyx_t_12;
/* "aesara/scan/scan_perform.pyx":419 /* "aesara/scan/scan_perform.pyx":419
* dt_fn = time.time() - t0_fn * dt_fn = time(NULL) - t0_fn
* t_fn += dt_fn * t_fn += dt_fn
* if as_while: # <<<<<<<<<<<<<< * if as_while: # <<<<<<<<<<<<<<
* pdx = offset + n_shared_outs * pdx = offset + n_shared_outs
...@@ -5710,10 +5666,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -5710,10 +5666,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* pos_j = pos[j] * pos_j = pos[j]
* outer_outputs_j_0 = outer_outputs[j][0] * outer_outputs_j_0 = outer_outputs[j][0]
*/ */
__pyx_t_3 = PyTuple_GET_ITEM(__pyx_v_tap_array, __pyx_v_j); __pyx_t_16 = PyTuple_GET_ITEM(__pyx_v_tap_array, __pyx_v_j);
__Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_16);
__Pyx_XDECREF_SET(__pyx_v_tap_array_j, __pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_tap_array_j, __pyx_t_16);
__pyx_t_3 = 0; __pyx_t_16 = 0;
/* "aesara/scan/scan_perform.pyx":431 /* "aesara/scan/scan_perform.pyx":431
* *
...@@ -5732,10 +5688,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -5732,10 +5688,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* *
* for k in mit_mot_out_slices[j]: * for k in mit_mot_out_slices[j]:
*/ */
__pyx_t_3 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_outer_outputs, __pyx_v_j), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 432, __pyx_L1_error) __pyx_t_16 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_outer_outputs, __pyx_v_j), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 432, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_16);
__Pyx_XDECREF_SET(__pyx_v_outer_outputs_j_0, __pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_outer_outputs_j_0, __pyx_t_16);
__pyx_t_3 = 0; __pyx_t_16 = 0;
/* "aesara/scan/scan_perform.pyx":434 /* "aesara/scan/scan_perform.pyx":434
* outer_outputs_j_0 = outer_outputs[j][0] * outer_outputs_j_0 = outer_outputs[j][0]
...@@ -5745,34 +5701,34 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -5745,34 +5701,34 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* # This output tap has been preallocated. * # This output tap has been preallocated.
*/ */
if (likely(PyList_CheckExact(PyTuple_GET_ITEM(__pyx_v_mit_mot_out_slices, __pyx_v_j))) || PyTuple_CheckExact(PyTuple_GET_ITEM(__pyx_v_mit_mot_out_slices, __pyx_v_j))) { if (likely(PyList_CheckExact(PyTuple_GET_ITEM(__pyx_v_mit_mot_out_slices, __pyx_v_j))) || PyTuple_CheckExact(PyTuple_GET_ITEM(__pyx_v_mit_mot_out_slices, __pyx_v_j))) {
__pyx_t_3 = PyTuple_GET_ITEM(__pyx_v_mit_mot_out_slices, __pyx_v_j); __Pyx_INCREF(__pyx_t_3); __pyx_t_9 = 0; __pyx_t_16 = PyTuple_GET_ITEM(__pyx_v_mit_mot_out_slices, __pyx_v_j); __Pyx_INCREF(__pyx_t_16); __pyx_t_9 = 0;
__pyx_t_19 = NULL; __pyx_t_19 = NULL;
} else { } else {
__pyx_t_9 = -1; __pyx_t_3 = PyObject_GetIter(PyTuple_GET_ITEM(__pyx_v_mit_mot_out_slices, __pyx_v_j)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 434, __pyx_L1_error) __pyx_t_9 = -1; __pyx_t_16 = PyObject_GetIter(PyTuple_GET_ITEM(__pyx_v_mit_mot_out_slices, __pyx_v_j)); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 434, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_16);
__pyx_t_19 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 434, __pyx_L1_error) __pyx_t_19 = Py_TYPE(__pyx_t_16)->tp_iternext; if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 434, __pyx_L1_error)
} }
for (;;) { for (;;) {
if (likely(!__pyx_t_19)) { if (likely(!__pyx_t_19)) {
if (likely(PyList_CheckExact(__pyx_t_3))) { if (likely(PyList_CheckExact(__pyx_t_16))) {
if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_3)) break; if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_16)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_9); __Pyx_INCREF(__pyx_t_2); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 434, __pyx_L1_error) __pyx_t_2 = PyList_GET_ITEM(__pyx_t_16, __pyx_t_9); __Pyx_INCREF(__pyx_t_2); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 434, __pyx_L1_error)
#else #else
__pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 434, __pyx_L1_error) __pyx_t_2 = PySequence_ITEM(__pyx_t_16, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 434, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_2);
#endif #endif
} else { } else {
if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_3)) break; if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_16)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_9); __Pyx_INCREF(__pyx_t_2); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 434, __pyx_L1_error) __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_16, __pyx_t_9); __Pyx_INCREF(__pyx_t_2); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 434, __pyx_L1_error)
#else #else
__pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 434, __pyx_L1_error) __pyx_t_2 = PySequence_ITEM(__pyx_t_16, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 434, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_2);
#endif #endif
} }
} else { } else {
__pyx_t_2 = __pyx_t_19(__pyx_t_3); __pyx_t_2 = __pyx_t_19(__pyx_t_16);
if (unlikely(!__pyx_t_2)) { if (unlikely(!__pyx_t_2)) {
PyObject* exc_type = PyErr_Occurred(); PyObject* exc_type = PyErr_Occurred();
if (exc_type) { if (exc_type) {
...@@ -5809,28 +5765,28 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -5809,28 +5765,28 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
__Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_tap_array_j, __pyx_n_s_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 437, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_tap_array_j, __pyx_n_s_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 437, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_1);
__pyx_t_24 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 437, __pyx_L1_error) __pyx_t_23 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 437, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_24); __Pyx_GOTREF(__pyx_t_23);
__pyx_t_26 = NULL; __pyx_t_25 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
__pyx_t_26 = PyMethod_GET_SELF(__pyx_t_1); __pyx_t_25 = PyMethod_GET_SELF(__pyx_t_1);
if (likely(__pyx_t_26)) { if (likely(__pyx_t_25)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
__Pyx_INCREF(__pyx_t_26); __Pyx_INCREF(__pyx_t_25);
__Pyx_INCREF(function); __Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_1, function); __Pyx_DECREF_SET(__pyx_t_1, function);
} }
} }
__pyx_t_16 = (__pyx_t_26) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_26, __pyx_t_24) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_24); __pyx_t_3 = (__pyx_t_25) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_25, __pyx_t_23) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_23);
__Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0;
__Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 437, __pyx_L1_error) if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 437, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16); __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = PyNumber_Add(__pyx_t_2, __pyx_t_16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 437, __pyx_L1_error) __pyx_t_1 = PyNumber_Add(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 437, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_1); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 437, __pyx_L1_error) __pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_1); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 437, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_inp_idx = __pyx_t_8; __pyx_v_inp_idx = __pyx_t_8;
...@@ -5884,10 +5840,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -5884,10 +5840,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
} }
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_new_var, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 448, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_new_var, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 448, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_1);
__pyx_t_16 = PyObject_RichCompare(PyList_GET_ITEM(__pyx_v_old_mitmot_input_data, __pyx_v_inp_idx), __pyx_t_1, Py_NE); __Pyx_XGOTREF(__pyx_t_16); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 448, __pyx_L1_error) __pyx_t_3 = PyObject_RichCompare(PyList_GET_ITEM(__pyx_v_old_mitmot_input_data, __pyx_v_inp_idx), __pyx_t_1, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 448, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_16); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 448, __pyx_L1_error) __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 448, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_5 = __pyx_t_14; __pyx_t_5 = __pyx_t_14;
__pyx_L96_bool_binop_done:; __pyx_L96_bool_binop_done:;
if (__pyx_t_5) { if (__pyx_t_5) {
...@@ -5899,8 +5855,8 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -5899,8 +5855,8 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* else: * else:
* # This output tap has not been preallocated, recover * # This output tap has not been preallocated, recover
*/ */
__pyx_t_16 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_inner_input_storage, __pyx_v_inner_inp_idx), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 450, __pyx_L1_error) __pyx_t_3 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_inner_input_storage, __pyx_v_inner_inp_idx), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 450, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16); __Pyx_GOTREF(__pyx_t_3);
/* "aesara/scan/scan_perform.pyx":449 /* "aesara/scan/scan_perform.pyx":449
* # modified inplace and nothing needs to be done. * # modified inplace and nothing needs to be done.
...@@ -5910,8 +5866,8 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -5910,8 +5866,8 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* else: * else:
*/ */
__pyx_t_8 = ((unsigned int)(__pyx_v_k + __pyx_v_pos_j)); __pyx_t_8 = ((unsigned int)(__pyx_v_k + __pyx_v_pos_j));
if (unlikely(__Pyx_SetItemInt(__pyx_v_outer_outputs_j_0, __pyx_t_8, __pyx_t_16, unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 0, 0, 0) < 0)) __PYX_ERR(0, 449, __pyx_L1_error) if (unlikely(__Pyx_SetItemInt(__pyx_v_outer_outputs_j_0, __pyx_t_8, __pyx_t_3, unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 0, 0, 0) < 0)) __PYX_ERR(0, 449, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "aesara/scan/scan_perform.pyx":448 /* "aesara/scan/scan_perform.pyx":448
* # recover the value as usual. Otherwise, the input was * # recover the value as usual. Otherwise, the input was
...@@ -5940,8 +5896,8 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -5940,8 +5896,8 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* offset_out += 1 * offset_out += 1
*/ */
/*else*/ { /*else*/ {
__pyx_t_16 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_inner_output_storage, __pyx_v_offset_out), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 455, __pyx_L1_error) __pyx_t_3 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_inner_output_storage, __pyx_v_offset_out), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 455, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16); __Pyx_GOTREF(__pyx_t_3);
/* "aesara/scan/scan_perform.pyx":454 /* "aesara/scan/scan_perform.pyx":454
* # This output tap has not been preallocated, recover * # This output tap has not been preallocated, recover
...@@ -5951,8 +5907,8 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -5951,8 +5907,8 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* *
*/ */
__pyx_t_8 = ((unsigned int)(__pyx_v_k + __pyx_v_pos_j)); __pyx_t_8 = ((unsigned int)(__pyx_v_k + __pyx_v_pos_j));
if (unlikely(__Pyx_SetItemInt(__pyx_v_outer_outputs_j_0, __pyx_t_8, __pyx_t_16, unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 0, 0, 0) < 0)) __PYX_ERR(0, 454, __pyx_L1_error) if (unlikely(__Pyx_SetItemInt(__pyx_v_outer_outputs_j_0, __pyx_t_8, __pyx_t_3, unsigned int, 0, __Pyx_PyInt_From_unsigned_int, 0, 0, 0) < 0)) __PYX_ERR(0, 454, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} }
__pyx_L94:; __pyx_L94:;
...@@ -5982,7 +5938,7 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -5982,7 +5938,7 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* # This output tap has been preallocated. * # This output tap has been preallocated.
*/ */
} }
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
/* "aesara/scan/scan_perform.pyx":460 /* "aesara/scan/scan_perform.pyx":460
* mitmot_out_idx += 1 * mitmot_out_idx += 1
...@@ -5991,13 +5947,13 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -5991,13 +5947,13 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* *
* # 5.4 Copy over the values for mit_sot/sit_sot outputs * # 5.4 Copy over the values for mit_sot/sit_sot outputs
*/ */
__pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_mitmot_inp_offset); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 460, __pyx_L1_error) __pyx_t_16 = __Pyx_PyInt_From_unsigned_int(__pyx_v_mitmot_inp_offset); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 460, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_16 = PyNumber_InPlaceAdd(__pyx_t_3, PyTuple_GET_ITEM(__pyx_v_tap_array_len, __pyx_v_j)); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 460, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16); __Pyx_GOTREF(__pyx_t_16);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_t_16, PyTuple_GET_ITEM(__pyx_v_tap_array_len, __pyx_v_j)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 460, __pyx_L1_error)
__pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_16); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 460, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__pyx_t_8 = __Pyx_PyInt_As_unsigned_int(__pyx_t_3); if (unlikely((__pyx_t_8 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 460, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_mitmot_inp_offset = __pyx_t_8; __pyx_v_mitmot_inp_offset = __pyx_t_8;
} }
...@@ -6056,10 +6012,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6056,10 +6012,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* *
* # Copy the output value to `outer_outputs`, if necessary * # Copy the output value to `outer_outputs`, if necessary
*/ */
__pyx_t_16 = PyList_GET_ITEM(__pyx_v_outer_outputs, __pyx_v_j); __pyx_t_3 = PyList_GET_ITEM(__pyx_v_outer_outputs, __pyx_v_j);
__Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(__pyx_t_3);
__Pyx_XDECREF_SET(__pyx_v_outer_outputs_j, __pyx_t_16); __Pyx_XDECREF_SET(__pyx_v_outer_outputs_j, __pyx_t_3);
__pyx_t_16 = 0; __pyx_t_3 = 0;
/* "aesara/scan/scan_perform.pyx":473 /* "aesara/scan/scan_perform.pyx":473
* *
...@@ -6088,15 +6044,15 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6088,15 +6044,15 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* else: * else:
* # Check whether the initialization of the output storage map * # Check whether the initialization of the output storage map
*/ */
__pyx_t_16 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_inner_output_storage, __pyx_v_jout), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 474, __pyx_L1_error) __pyx_t_3 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_inner_output_storage, __pyx_v_jout), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 474, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16);
__pyx_t_3 = __Pyx_GetItemInt(__pyx_v_outer_outputs_j, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 474, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_3);
__pyx_t_16 = __Pyx_GetItemInt(__pyx_v_outer_outputs_j, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 474, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16);
__pyx_t_13 = __pyx_v_j; __pyx_t_13 = __pyx_v_j;
__pyx_t_12 = (*((int *) ( /* dim=0 */ (__pyx_v_pos.data + __pyx_t_13 * __pyx_v_pos.strides[0]) ))); __pyx_t_12 = (*((int *) ( /* dim=0 */ (__pyx_v_pos.data + __pyx_t_13 * __pyx_v_pos.strides[0]) )));
if (unlikely(__Pyx_SetItemInt(__pyx_t_3, __pyx_t_12, __pyx_t_16, int, 1, __Pyx_PyInt_From_int, 0, 1, 0) < 0)) __PYX_ERR(0, 474, __pyx_L1_error) if (unlikely(__Pyx_SetItemInt(__pyx_t_16, __pyx_t_12, __pyx_t_3, int, 1, __Pyx_PyInt_From_int, 0, 1, 0) < 0)) __PYX_ERR(0, 474, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "aesara/scan/scan_perform.pyx":473 /* "aesara/scan/scan_perform.pyx":473
* *
...@@ -6116,10 +6072,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6116,10 +6072,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* new_var = inner_output_storage[jout][0] * new_var = inner_output_storage[jout][0]
*/ */
/*else*/ { /*else*/ {
__pyx_t_16 = PyList_GET_ITEM(__pyx_v_old_output_storage, __pyx_v_jout); __pyx_t_3 = PyList_GET_ITEM(__pyx_v_old_output_storage, __pyx_v_jout);
__Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(__pyx_t_3);
__Pyx_XDECREF_SET(__pyx_v_old_var, __pyx_t_16); __Pyx_XDECREF_SET(__pyx_v_old_var, __pyx_t_3);
__pyx_t_16 = 0; __pyx_t_3 = 0;
/* "aesara/scan/scan_perform.pyx":479 /* "aesara/scan/scan_perform.pyx":479
* # for this output has been reused. * # for this output has been reused.
...@@ -6128,10 +6084,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6128,10 +6084,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* new_var = inner_output_storage[jout][0] * new_var = inner_output_storage[jout][0]
* *
*/ */
__pyx_t_16 = PyList_GET_ITEM(__pyx_v_old_output_data, __pyx_v_jout); __pyx_t_3 = PyList_GET_ITEM(__pyx_v_old_output_data, __pyx_v_jout);
__Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(__pyx_t_3);
__Pyx_XDECREF_SET(__pyx_v_old_data, __pyx_t_16); __Pyx_XDECREF_SET(__pyx_v_old_data, __pyx_t_3);
__pyx_t_16 = 0; __pyx_t_3 = 0;
/* "aesara/scan/scan_perform.pyx":480 /* "aesara/scan/scan_perform.pyx":480
* old_var = old_output_storage[jout] * old_var = old_output_storage[jout]
...@@ -6140,10 +6096,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6140,10 +6096,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* *
* if old_var is not new_var or old_data is None: * if old_var is not new_var or old_data is None:
*/ */
__pyx_t_16 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_inner_output_storage, __pyx_v_jout), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 480, __pyx_L1_error) __pyx_t_3 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_inner_output_storage, __pyx_v_jout), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 480, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16); __Pyx_GOTREF(__pyx_t_3);
__Pyx_XDECREF_SET(__pyx_v_new_var, __pyx_t_16); __Pyx_XDECREF_SET(__pyx_v_new_var, __pyx_t_3);
__pyx_t_16 = 0; __pyx_t_3 = 0;
/* "aesara/scan/scan_perform.pyx":482 /* "aesara/scan/scan_perform.pyx":482
* new_var = inner_output_storage[jout][0] * new_var = inner_output_storage[jout][0]
...@@ -6172,12 +6128,12 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6172,12 +6128,12 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* *
* # 5.5 Copy over the values for nit_sot outputs * # 5.5 Copy over the values for nit_sot outputs
*/ */
__pyx_t_16 = __Pyx_GetItemInt(__pyx_v_outer_outputs_j, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 483, __pyx_L1_error) __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_outer_outputs_j, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 483, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16); __Pyx_GOTREF(__pyx_t_3);
__pyx_t_13 = __pyx_v_j; __pyx_t_13 = __pyx_v_j;
__pyx_t_12 = (*((int *) ( /* dim=0 */ (__pyx_v_pos.data + __pyx_t_13 * __pyx_v_pos.strides[0]) ))); __pyx_t_12 = (*((int *) ( /* dim=0 */ (__pyx_v_pos.data + __pyx_t_13 * __pyx_v_pos.strides[0]) )));
if (unlikely(__Pyx_SetItemInt(__pyx_t_16, __pyx_t_12, __pyx_v_new_var, int, 1, __Pyx_PyInt_From_int, 0, 1, 0) < 0)) __PYX_ERR(0, 483, __pyx_L1_error) if (unlikely(__Pyx_SetItemInt(__pyx_t_3, __pyx_t_12, __pyx_v_new_var, int, 1, __Pyx_PyInt_From_int, 0, 1, 0) < 0)) __PYX_ERR(0, 483, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "aesara/scan/scan_perform.pyx":482 /* "aesara/scan/scan_perform.pyx":482
* new_var = inner_output_storage[jout][0] * new_var = inner_output_storage[jout][0]
...@@ -6257,10 +6213,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6257,10 +6213,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* shape = (store_steps_j,) + inner_output_storage_jout_0.shape * shape = (store_steps_j,) + inner_output_storage_jout_0.shape
* dtype = inner_output_storage_jout_0.dtype * dtype = inner_output_storage_jout_0.dtype
*/ */
__pyx_t_16 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_inner_output_storage, __pyx_v_jout), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 494, __pyx_L1_error) __pyx_t_3 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_inner_output_storage, __pyx_v_jout), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 494, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16); __Pyx_GOTREF(__pyx_t_3);
__Pyx_XDECREF_SET(__pyx_v_inner_output_storage_jout_0, __pyx_t_16); __Pyx_XDECREF_SET(__pyx_v_inner_output_storage_jout_0, __pyx_t_3);
__pyx_t_16 = 0; __pyx_t_3 = 0;
/* "aesara/scan/scan_perform.pyx":495 /* "aesara/scan/scan_perform.pyx":495
* store_steps_j = store_steps[j] * store_steps_j = store_steps[j]
...@@ -6269,19 +6225,19 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6269,19 +6225,19 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* dtype = inner_output_storage_jout_0.dtype * dtype = inner_output_storage_jout_0.dtype
* outer_outputs_j = outer_outputs[j] * outer_outputs_j = outer_outputs[j]
*/ */
__pyx_t_16 = __Pyx_PyInt_From_unsigned_int(__pyx_v_store_steps_j); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 495, __pyx_L1_error) __pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_store_steps_j); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 495, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16);
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 495, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_16); __pyx_t_16 = PyTuple_New(1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 495, __pyx_L1_error)
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_16);
__pyx_t_16 = 0;
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_inner_output_storage_jout_0, __pyx_n_s_shape); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 495, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16); __Pyx_GOTREF(__pyx_t_16);
__pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_t_16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 495, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_3);
__pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_inner_output_storage_jout_0, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 495, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_1 = PyNumber_Add(__pyx_t_16, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 495, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_XDECREF_SET(__pyx_v_shape, __pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_shape, __pyx_t_1);
__pyx_t_1 = 0; __pyx_t_1 = 0;
...@@ -6345,16 +6301,16 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6345,16 +6301,16 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
*/ */
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_outer_outputs_j_0, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 502, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_outer_outputs_j_0, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 502, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_1);
__pyx_t_16 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 502, __pyx_L1_error) __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 502, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16); __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_store_steps_j); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 502, __pyx_L1_error) __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_store_steps_j); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 502, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = PyObject_RichCompare(__pyx_t_16, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 502, __pyx_L1_error) __pyx_t_16 = PyObject_RichCompare(__pyx_t_3, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_16); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 502, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 502, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_16); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 502, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
if (!__pyx_t_15) { if (!__pyx_t_15) {
} else { } else {
__pyx_t_5 = __pyx_t_15; __pyx_t_5 = __pyx_t_15;
...@@ -6368,18 +6324,18 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6368,18 +6324,18 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* outer_outputs_j_0.dtype != dtype * outer_outputs_j_0.dtype != dtype
* ): * ):
*/ */
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_outer_outputs_j_0, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 503, __pyx_L1_error) __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_outer_outputs_j_0, __pyx_n_s_shape); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 503, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_16);
__pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_t_3, 1, 0, NULL, NULL, &__pyx_slice_, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 503, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_t_16, 1, 0, NULL, NULL, &__pyx_slice_, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 503, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_shape, 1, 0, NULL, NULL, &__pyx_slice_, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 503, __pyx_L1_error) __pyx_t_16 = __Pyx_PyObject_GetSlice(__pyx_v_shape, 1, 0, NULL, NULL, &__pyx_slice_, 1, 0, 1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 503, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_16);
__pyx_t_16 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_NE); __Pyx_XGOTREF(__pyx_t_16); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 503, __pyx_L1_error) __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_16, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 503, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_16); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 503, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 503, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (!__pyx_t_15) { if (!__pyx_t_15) {
} else { } else {
__pyx_t_5 = __pyx_t_15; __pyx_t_5 = __pyx_t_15;
...@@ -6393,12 +6349,12 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6393,12 +6349,12 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* ): * ):
* new_outer_outputs_j_0 = numpy.empty(shape, dtype=outer_output_dtypes[j]) * new_outer_outputs_j_0 = numpy.empty(shape, dtype=outer_output_dtypes[j])
*/ */
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_outer_outputs_j_0, __pyx_n_s_dtype); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 504, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_outer_outputs_j_0, __pyx_n_s_dtype); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 504, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16); __Pyx_GOTREF(__pyx_t_3);
__pyx_t_3 = PyObject_RichCompare(__pyx_t_16, __pyx_v_dtype, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 504, __pyx_L1_error) __pyx_t_16 = PyObject_RichCompare(__pyx_t_3, __pyx_v_dtype, Py_NE); __Pyx_XGOTREF(__pyx_t_16); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 504, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 504, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_16); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 504, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__pyx_t_5 = __pyx_t_15; __pyx_t_5 = __pyx_t_15;
__pyx_L110_bool_binop_done:; __pyx_L110_bool_binop_done:;
...@@ -6418,23 +6374,23 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6418,23 +6374,23 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* elif outer_outputs_j_0.shape[0] != store_steps_j: * elif outer_outputs_j_0.shape[0] != store_steps_j:
* new_outer_outputs_j_0 = outer_outputs_j_0[:store_steps_j] * new_outer_outputs_j_0 = outer_outputs_j_0[:store_steps_j]
*/ */
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_numpy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 506, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_numpy); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 506, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 506, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16); __Pyx_GOTREF(__pyx_t_16);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 506, __pyx_L1_error)
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 506, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__pyx_t_16 = PyTuple_New(1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 506, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16);
__Pyx_INCREF(__pyx_v_shape); __Pyx_INCREF(__pyx_v_shape);
__Pyx_GIVEREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_v_shape);
__pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 506, __pyx_L1_error) __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 506, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, PyTuple_GET_ITEM(__pyx_v_outer_output_dtypes, __pyx_v_j)) < 0) __PYX_ERR(0, 506, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, PyTuple_GET_ITEM(__pyx_v_outer_output_dtypes, __pyx_v_j)) < 0) __PYX_ERR(0, 506, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 506, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_16, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 506, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF_SET(__pyx_v_new_outer_outputs_j_0, __pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_new_outer_outputs_j_0, __pyx_t_2);
__pyx_t_2 = 0; __pyx_t_2 = 0;
...@@ -6463,11 +6419,11 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6463,11 +6419,11 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_store_steps_j); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 507, __pyx_L1_error) __pyx_t_2 = __Pyx_PyInt_From_unsigned_int(__pyx_v_store_steps_j); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 507, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 507, __pyx_L1_error) __pyx_t_16 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_NE); __Pyx_XGOTREF(__pyx_t_16); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 507, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 507, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_16); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 507, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
if (__pyx_t_5) { if (__pyx_t_5) {
/* "aesara/scan/scan_perform.pyx":508 /* "aesara/scan/scan_perform.pyx":508
...@@ -6477,10 +6433,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6477,10 +6433,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* else: * else:
* new_outer_outputs_j_0 = outer_outputs_j_0 * new_outer_outputs_j_0 = outer_outputs_j_0
*/ */
__pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_outer_outputs_j_0, 0, __pyx_v_store_steps_j, NULL, NULL, NULL, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 508, __pyx_L1_error) __pyx_t_16 = __Pyx_PyObject_GetSlice(__pyx_v_outer_outputs_j_0, 0, __pyx_v_store_steps_j, NULL, NULL, NULL, 0, 1, 1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 508, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_16);
__Pyx_XDECREF_SET(__pyx_v_new_outer_outputs_j_0, __pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_new_outer_outputs_j_0, __pyx_t_16);
__pyx_t_3 = 0; __pyx_t_16 = 0;
/* "aesara/scan/scan_perform.pyx":507 /* "aesara/scan/scan_perform.pyx":507
* ): * ):
...@@ -6562,15 +6518,15 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6562,15 +6518,15 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* else: * else:
* # Check whether the initialization of the output storage map * # Check whether the initialization of the output storage map
*/ */
__pyx_t_3 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_inner_output_storage, __pyx_v_jout), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 516, __pyx_L1_error) __pyx_t_16 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_inner_output_storage, __pyx_v_jout), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 516, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_16);
__pyx_t_2 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_outer_outputs, __pyx_v_j), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 516, __pyx_L1_error) __pyx_t_2 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_outer_outputs, __pyx_v_j), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 516, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_2);
__pyx_t_13 = __pyx_v_j; __pyx_t_13 = __pyx_v_j;
__pyx_t_12 = (*((int *) ( /* dim=0 */ (__pyx_v_pos.data + __pyx_t_13 * __pyx_v_pos.strides[0]) ))); __pyx_t_12 = (*((int *) ( /* dim=0 */ (__pyx_v_pos.data + __pyx_t_13 * __pyx_v_pos.strides[0]) )));
if (unlikely(__Pyx_SetItemInt(__pyx_t_2, __pyx_t_12, __pyx_t_3, int, 1, __Pyx_PyInt_From_int, 0, 1, 0) < 0)) __PYX_ERR(0, 516, __pyx_L1_error) if (unlikely(__Pyx_SetItemInt(__pyx_t_2, __pyx_t_12, __pyx_t_16, int, 1, __Pyx_PyInt_From_int, 0, 1, 0) < 0)) __PYX_ERR(0, 516, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
/* "aesara/scan/scan_perform.pyx":515 /* "aesara/scan/scan_perform.pyx":515
* *
...@@ -6590,10 +6546,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6590,10 +6546,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* new_var = inner_output_storage[jout][0] * new_var = inner_output_storage[jout][0]
*/ */
/*else*/ { /*else*/ {
__pyx_t_3 = PyList_GET_ITEM(__pyx_v_old_output_storage, __pyx_v_jout); __pyx_t_16 = PyList_GET_ITEM(__pyx_v_old_output_storage, __pyx_v_jout);
__Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_16);
__Pyx_XDECREF_SET(__pyx_v_old_var, __pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_old_var, __pyx_t_16);
__pyx_t_3 = 0; __pyx_t_16 = 0;
/* "aesara/scan/scan_perform.pyx":521 /* "aesara/scan/scan_perform.pyx":521
* # for this output has been reused. * # for this output has been reused.
...@@ -6602,10 +6558,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6602,10 +6558,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* new_var = inner_output_storage[jout][0] * new_var = inner_output_storage[jout][0]
* *
*/ */
__pyx_t_3 = PyList_GET_ITEM(__pyx_v_old_output_data, __pyx_v_jout); __pyx_t_16 = PyList_GET_ITEM(__pyx_v_old_output_data, __pyx_v_jout);
__Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_16);
__Pyx_XDECREF_SET(__pyx_v_old_data, __pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_old_data, __pyx_t_16);
__pyx_t_3 = 0; __pyx_t_16 = 0;
/* "aesara/scan/scan_perform.pyx":522 /* "aesara/scan/scan_perform.pyx":522
* old_var = old_output_storage[jout] * old_var = old_output_storage[jout]
...@@ -6614,10 +6570,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6614,10 +6570,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* *
* if old_var is not new_var or old_data is None: * if old_var is not new_var or old_data is None:
*/ */
__pyx_t_3 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_inner_output_storage, __pyx_v_jout), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 522, __pyx_L1_error) __pyx_t_16 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_inner_output_storage, __pyx_v_jout), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 522, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_16);
__Pyx_XDECREF_SET(__pyx_v_new_var, __pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_new_var, __pyx_t_16);
__pyx_t_3 = 0; __pyx_t_16 = 0;
/* "aesara/scan/scan_perform.pyx":524 /* "aesara/scan/scan_perform.pyx":524
* new_var = inner_output_storage[jout][0] * new_var = inner_output_storage[jout][0]
...@@ -6646,12 +6602,12 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6646,12 +6602,12 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* *
* # 5.6 Copy over the values for outputs corresponding to shared * # 5.6 Copy over the values for outputs corresponding to shared
*/ */
__pyx_t_3 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_outer_outputs, __pyx_v_j), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 525, __pyx_L1_error) __pyx_t_16 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_outer_outputs, __pyx_v_j), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 525, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_16);
__pyx_t_13 = __pyx_v_j; __pyx_t_13 = __pyx_v_j;
__pyx_t_12 = (*((int *) ( /* dim=0 */ (__pyx_v_pos.data + __pyx_t_13 * __pyx_v_pos.strides[0]) ))); __pyx_t_12 = (*((int *) ( /* dim=0 */ (__pyx_v_pos.data + __pyx_t_13 * __pyx_v_pos.strides[0]) )));
if (unlikely(__Pyx_SetItemInt(__pyx_t_3, __pyx_t_12, __pyx_v_new_var, int, 1, __Pyx_PyInt_From_int, 0, 1, 0) < 0)) __PYX_ERR(0, 525, __pyx_L1_error) if (unlikely(__Pyx_SetItemInt(__pyx_t_16, __pyx_t_12, __pyx_v_new_var, int, 1, __Pyx_PyInt_From_int, 0, 1, 0) < 0)) __PYX_ERR(0, 525, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
/* "aesara/scan/scan_perform.pyx":524 /* "aesara/scan/scan_perform.pyx":524
* new_var = inner_output_storage[jout][0] * new_var = inner_output_storage[jout][0]
...@@ -6711,10 +6667,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6711,10 +6667,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* *
* for idx in range(lenpos): * for idx in range(lenpos):
*/ */
__pyx_t_3 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_inner_output_storage, __pyx_v_jout), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 533, __pyx_L1_error) __pyx_t_16 = __Pyx_GetItemInt(PyList_GET_ITEM(__pyx_v_inner_output_storage, __pyx_v_jout), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 533, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_16);
if (unlikely(__Pyx_SetItemInt(PyList_GET_ITEM(__pyx_v_outer_outputs, __pyx_v_j), 0, __pyx_t_3, long, 1, __Pyx_PyInt_From_long, 0, 0, 0) < 0)) __PYX_ERR(0, 533, __pyx_L1_error) if (unlikely(__Pyx_SetItemInt(PyList_GET_ITEM(__pyx_v_outer_outputs, __pyx_v_j), 0, __pyx_t_16, long, 1, __Pyx_PyInt_From_long, 0, 0, 0) < 0)) __PYX_ERR(0, 533, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
} }
/* "aesara/scan/scan_perform.pyx":535 /* "aesara/scan/scan_perform.pyx":535
...@@ -6795,10 +6751,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6795,10 +6751,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* outer_outputs_idx_0 = outer_outputs_idx[0] * outer_outputs_idx_0 = outer_outputs_idx[0]
* *
*/ */
__pyx_t_3 = PyList_GET_ITEM(__pyx_v_outer_outputs, __pyx_v_idx); __pyx_t_16 = PyList_GET_ITEM(__pyx_v_outer_outputs, __pyx_v_idx);
__Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_16);
__Pyx_XDECREF_SET(__pyx_v_outer_outputs_idx, __pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_outer_outputs_idx, __pyx_t_16);
__pyx_t_3 = 0; __pyx_t_16 = 0;
/* "aesara/scan/scan_perform.pyx":544 /* "aesara/scan/scan_perform.pyx":544
* for idx in range(begin, end): * for idx in range(begin, end):
...@@ -6807,10 +6763,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6807,10 +6763,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* *
* store_steps_idx = store_steps[idx] * store_steps_idx = store_steps[idx]
*/ */
__pyx_t_3 = __Pyx_GetItemInt(__pyx_v_outer_outputs_idx, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 544, __pyx_L1_error) __pyx_t_16 = __Pyx_GetItemInt(__pyx_v_outer_outputs_idx, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 544, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_16);
__Pyx_XDECREF_SET(__pyx_v_outer_outputs_idx_0, __pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_outer_outputs_idx_0, __pyx_t_16);
__pyx_t_3 = 0; __pyx_t_16 = 0;
/* "aesara/scan/scan_perform.pyx":546 /* "aesara/scan/scan_perform.pyx":546
* outer_outputs_idx_0 = outer_outputs_idx[0] * outer_outputs_idx_0 = outer_outputs_idx[0]
...@@ -6877,24 +6833,24 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6877,24 +6833,24 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* tmp = numpy.empty(shape, dtype=outer_output_dtypes[idx]) * tmp = numpy.empty(shape, dtype=outer_output_dtypes[idx])
* tmp[:] = outer_outputs_idx_0[:pdx] * tmp[:] = outer_outputs_idx_0[:pdx]
*/ */
__pyx_t_3 = __Pyx_PyInt_From_unsigned_int(__pyx_v_pdx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 559, __pyx_L1_error) __pyx_t_16 = __Pyx_PyInt_From_unsigned_int(__pyx_v_pdx); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 559, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_16);
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 559, __pyx_L1_error) __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 559, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_16);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_16);
__pyx_t_3 = 0; __pyx_t_16 = 0;
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_outer_outputs_idx_0, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 559, __pyx_L1_error) __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_outer_outputs_idx_0, __pyx_n_s_shape); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 559, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_16);
__pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_t_3, 1, 0, NULL, NULL, &__pyx_slice_, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 559, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_t_16, 1, 0, NULL, NULL, &__pyx_slice_, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 559, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 559, __pyx_L1_error) __pyx_t_16 = PyNumber_Add(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 559, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_16);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF_SET(__pyx_v_shape, __pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_shape, __pyx_t_16);
__pyx_t_3 = 0; __pyx_t_16 = 0;
/* "aesara/scan/scan_perform.pyx":560 /* "aesara/scan/scan_perform.pyx":560
* # before it is read (as it used to happen). * # before it is read (as it used to happen).
...@@ -6903,26 +6859,26 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6903,26 +6859,26 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* tmp[:] = outer_outputs_idx_0[:pdx] * tmp[:] = outer_outputs_idx_0[:pdx]
* outer_outputs_idx_0[:store_steps_idx - pdx] = outer_outputs_idx_0[pdx:] * outer_outputs_idx_0[:store_steps_idx - pdx] = outer_outputs_idx_0[pdx:]
*/ */
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_numpy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 560, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_numpy); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 560, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_16);
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 560, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_empty); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 560, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 560, __pyx_L1_error) __pyx_t_16 = PyTuple_New(1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 560, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_16);
__Pyx_INCREF(__pyx_v_shape); __Pyx_INCREF(__pyx_v_shape);
__Pyx_GIVEREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_v_shape);
__pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 560, __pyx_L1_error) __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 560, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, PyTuple_GET_ITEM(__pyx_v_outer_output_dtypes, __pyx_v_idx)) < 0) __PYX_ERR(0, 560, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, PyTuple_GET_ITEM(__pyx_v_outer_output_dtypes, __pyx_v_idx)) < 0) __PYX_ERR(0, 560, __pyx_L1_error)
__pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 560, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_16, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 560, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16); __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XDECREF_SET(__pyx_v_tmp, __pyx_t_16); __Pyx_XDECREF_SET(__pyx_v_tmp, __pyx_t_3);
__pyx_t_16 = 0; __pyx_t_3 = 0;
/* "aesara/scan/scan_perform.pyx":561 /* "aesara/scan/scan_perform.pyx":561
* shape = (pdx,)+ outer_outputs_idx_0.shape[1:] * shape = (pdx,)+ outer_outputs_idx_0.shape[1:]
...@@ -6931,10 +6887,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6931,10 +6887,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* outer_outputs_idx_0[:store_steps_idx - pdx] = outer_outputs_idx_0[pdx:] * outer_outputs_idx_0[:store_steps_idx - pdx] = outer_outputs_idx_0[pdx:]
* outer_outputs_idx_0[store_steps_idx - pdx:] = tmp * outer_outputs_idx_0[store_steps_idx - pdx:] = tmp
*/ */
__pyx_t_16 = __Pyx_PyObject_GetSlice(__pyx_v_outer_outputs_idx_0, 0, __pyx_v_pdx, NULL, NULL, NULL, 0, 1, 1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 561, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_outer_outputs_idx_0, 0, __pyx_v_pdx, NULL, NULL, NULL, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 561, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16); __Pyx_GOTREF(__pyx_t_3);
if (__Pyx_PyObject_SetSlice(__pyx_v_tmp, __pyx_t_16, 0, 0, NULL, NULL, &__pyx_slice__2, 0, 0, 1) < 0) __PYX_ERR(0, 561, __pyx_L1_error) if (__Pyx_PyObject_SetSlice(__pyx_v_tmp, __pyx_t_3, 0, 0, NULL, NULL, &__pyx_slice__2, 0, 0, 1) < 0) __PYX_ERR(0, 561, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "aesara/scan/scan_perform.pyx":562 /* "aesara/scan/scan_perform.pyx":562
* tmp = numpy.empty(shape, dtype=outer_output_dtypes[idx]) * tmp = numpy.empty(shape, dtype=outer_output_dtypes[idx])
...@@ -6943,10 +6899,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6943,10 +6899,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* outer_outputs_idx_0[store_steps_idx - pdx:] = tmp * outer_outputs_idx_0[store_steps_idx - pdx:] = tmp
* else: * else:
*/ */
__pyx_t_16 = __Pyx_PyObject_GetSlice(__pyx_v_outer_outputs_idx_0, __pyx_v_pdx, 0, NULL, NULL, NULL, 1, 0, 1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 562, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_outer_outputs_idx_0, __pyx_v_pdx, 0, NULL, NULL, NULL, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 562, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16); __Pyx_GOTREF(__pyx_t_3);
if (__Pyx_PyObject_SetSlice(__pyx_v_outer_outputs_idx_0, __pyx_t_16, 0, (__pyx_v_store_steps_idx - __pyx_v_pdx), NULL, NULL, NULL, 0, 1, 1) < 0) __PYX_ERR(0, 562, __pyx_L1_error) if (__Pyx_PyObject_SetSlice(__pyx_v_outer_outputs_idx_0, __pyx_t_3, 0, (__pyx_v_store_steps_idx - __pyx_v_pdx), NULL, NULL, NULL, 0, 1, 1) < 0) __PYX_ERR(0, 562, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "aesara/scan/scan_perform.pyx":563 /* "aesara/scan/scan_perform.pyx":563
* tmp[:] = outer_outputs_idx_0[:pdx] * tmp[:] = outer_outputs_idx_0[:pdx]
...@@ -6975,24 +6931,24 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -6975,24 +6931,24 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* tmp[:] = outer_outputs_idx_0[pdx:] * tmp[:] = outer_outputs_idx_0[pdx:]
*/ */
/*else*/ { /*else*/ {
__pyx_t_16 = __Pyx_PyInt_From_unsigned_int((__pyx_v_store_steps_idx - __pyx_v_pdx)); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 565, __pyx_L1_error) __pyx_t_3 = __Pyx_PyInt_From_unsigned_int((__pyx_v_store_steps_idx - __pyx_v_pdx)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 565, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16); __Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 565, __pyx_L1_error) __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 565, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_16); __Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_16); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
__pyx_t_16 = 0; __pyx_t_3 = 0;
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_outer_outputs_idx_0, __pyx_n_s_shape); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 565, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_outer_outputs_idx_0, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 565, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16);
__pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_t_16, 1, 0, NULL, NULL, &__pyx_slice_, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 565, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetSlice(__pyx_t_3, 1, 0, NULL, NULL, &__pyx_slice_, 1, 0, 1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 565, __pyx_L1_error)
__pyx_t_16 = PyNumber_Add(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 565, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16); __Pyx_GOTREF(__pyx_t_16);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_XDECREF_SET(__pyx_v_shape, __pyx_t_16); __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 565, __pyx_L1_error)
__pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__Pyx_XDECREF_SET(__pyx_v_shape, __pyx_t_3);
__pyx_t_3 = 0;
/* "aesara/scan/scan_perform.pyx":566 /* "aesara/scan/scan_perform.pyx":566
* else: * else:
...@@ -7001,23 +6957,23 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -7001,23 +6957,23 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* tmp[:] = outer_outputs_idx_0[pdx:] * tmp[:] = outer_outputs_idx_0[pdx:]
* outer_outputs_idx_0[store_steps_idx - pdx:] = outer_outputs_idx_0[:pdx] * outer_outputs_idx_0[store_steps_idx - pdx:] = outer_outputs_idx_0[:pdx]
*/ */
__Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_numpy); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 566, __pyx_L1_error) __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_numpy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_empty); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3); __Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_empty); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 566, __pyx_L1_error)
__pyx_t_16 = PyTuple_New(1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16); __Pyx_GOTREF(__pyx_t_16);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_shape); __Pyx_INCREF(__pyx_v_shape);
__Pyx_GIVEREF(__pyx_v_shape); __Pyx_GIVEREF(__pyx_v_shape);
PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_v_shape); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_shape);
__pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 566, __pyx_L1_error) __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, PyTuple_GET_ITEM(__pyx_v_outer_output_dtypes, __pyx_v_idx)) < 0) __PYX_ERR(0, 566, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_dtype, PyTuple_GET_ITEM(__pyx_v_outer_output_dtypes, __pyx_v_idx)) < 0) __PYX_ERR(0, 566, __pyx_L1_error)
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_16, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 566, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XDECREF_SET(__pyx_v_tmp, __pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_tmp, __pyx_t_1);
__pyx_t_1 = 0; __pyx_t_1 = 0;
...@@ -7226,20 +7182,20 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -7226,20 +7182,20 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
* return t_fn, i # <<<<<<<<<<<<<< * return t_fn, i # <<<<<<<<<<<<<<
*/ */
__Pyx_XDECREF(__pyx_r); __Pyx_XDECREF(__pyx_r);
__pyx_t_2 = PyFloat_FromDouble(__pyx_v_t_fn); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 602, __pyx_L1_error) __pyx_t_2 = __Pyx_PyInt_From_time_t(__pyx_v_t_fn); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 602, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2); __Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 602, __pyx_L1_error) __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 602, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_1);
__pyx_t_16 = PyTuple_New(2); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 602, __pyx_L1_error) __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 602, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16); __Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_16, 1, __pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1);
__pyx_t_2 = 0; __pyx_t_2 = 0;
__pyx_t_1 = 0; __pyx_t_1 = 0;
__pyx_r = __pyx_t_16; __pyx_r = __pyx_t_3;
__pyx_t_16 = 0; __pyx_t_3 = 0;
goto __pyx_L0; goto __pyx_L0;
/* "aesara/scan/scan_perform.pyx":70 /* "aesara/scan/scan_perform.pyx":70
...@@ -7256,10 +7212,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py ...@@ -7256,10 +7212,10 @@ static PyObject *__pyx_pf_6aesara_4scan_12scan_perform_2perform(CYTHON_UNUSED Py
__Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_16); __Pyx_XDECREF(__pyx_t_16);
__Pyx_XDECREF(__pyx_t_23);
__Pyx_XDECREF(__pyx_t_24); __Pyx_XDECREF(__pyx_t_24);
__Pyx_XDECREF(__pyx_t_25); __Pyx_XDECREF(__pyx_t_25);
__Pyx_XDECREF(__pyx_t_26); __Pyx_XDECREF(__pyx_t_26);
__Pyx_XDECREF(__pyx_t_27);
__Pyx_AddTraceback("aesara.scan.scan_perform.perform", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_AddTraceback("aesara.scan.scan_perform.perform", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL; __pyx_r = NULL;
__pyx_L0:; __pyx_L0:;
...@@ -22290,7 +22246,6 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { ...@@ -22290,7 +22246,6 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_n_s_tap_array_len, __pyx_k_tap_array_len, sizeof(__pyx_k_tap_array_len), 0, 0, 1, 1}, {&__pyx_n_s_tap_array_len, __pyx_k_tap_array_len, sizeof(__pyx_k_tap_array_len), 0, 0, 1, 1},
{&__pyx_n_s_tdx, __pyx_k_tdx, sizeof(__pyx_k_tdx), 0, 0, 1, 1}, {&__pyx_n_s_tdx, __pyx_k_tdx, sizeof(__pyx_k_tdx), 0, 0, 1, 1},
{&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
{&__pyx_n_s_time, __pyx_k_time, sizeof(__pyx_k_time), 0, 0, 1, 1},
{&__pyx_n_s_tmp, __pyx_k_tmp, sizeof(__pyx_k_tmp), 0, 0, 1, 1}, {&__pyx_n_s_tmp, __pyx_k_tmp, sizeof(__pyx_k_tmp), 0, 0, 1, 1},
{&__pyx_kp_s_unable_to_allocate_array_data, __pyx_k_unable_to_allocate_array_data, sizeof(__pyx_k_unable_to_allocate_array_data), 0, 0, 1, 0}, {&__pyx_kp_s_unable_to_allocate_array_data, __pyx_k_unable_to_allocate_array_data, sizeof(__pyx_k_unable_to_allocate_array_data), 0, 0, 1, 0},
{&__pyx_kp_s_unable_to_allocate_shape_and_str, __pyx_k_unable_to_allocate_shape_and_str, sizeof(__pyx_k_unable_to_allocate_shape_and_str), 0, 0, 1, 0}, {&__pyx_kp_s_unable_to_allocate_shape_and_str, __pyx_k_unable_to_allocate_shape_and_str, sizeof(__pyx_k_unable_to_allocate_shape_and_str), 0, 0, 1, 0},
...@@ -22574,7 +22529,7 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { ...@@ -22574,7 +22529,7 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
* *
* *
* def get_version(): # <<<<<<<<<<<<<< * def get_version(): # <<<<<<<<<<<<<<
* return 0.319 * return 0.320
* *
*/ */
__pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_scan_perform_pyx, __pyx_n_s_get_version, 64, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) __PYX_ERR(0, 64, __pyx_L1_error) __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_scan_perform_pyx, __pyx_n_s_get_version, 64, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) __PYX_ERR(0, 64, __pyx_L1_error)
...@@ -22665,7 +22620,7 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { ...@@ -22665,7 +22620,7 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error); if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
__pyx_float_0_0 = PyFloat_FromDouble(0.0); if (unlikely(!__pyx_float_0_0)) __PYX_ERR(0, 1, __pyx_L1_error) __pyx_float_0_0 = PyFloat_FromDouble(0.0); if (unlikely(!__pyx_float_0_0)) __PYX_ERR(0, 1, __pyx_L1_error)
__pyx_float_0_319 = PyFloat_FromDouble(0.319); if (unlikely(!__pyx_float_0_319)) __PYX_ERR(0, 1, __pyx_L1_error) __pyx_float_0_320 = PyFloat_FromDouble(0.320); if (unlikely(!__pyx_float_0_320)) __PYX_ERR(0, 1, __pyx_L1_error)
__pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error) __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error)
__pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error) __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error)
__pyx_int_184977713 = PyInt_FromLong(184977713L); if (unlikely(!__pyx_int_184977713)) __PYX_ERR(0, 1, __pyx_L1_error) __pyx_int_184977713 = PyInt_FromLong(184977713L); if (unlikely(!__pyx_int_184977713)) __PYX_ERR(0, 1, __pyx_L1_error)
...@@ -23056,56 +23011,32 @@ if (!__Pyx_RefNanny) { ...@@ -23056,56 +23011,32 @@ if (!__Pyx_RefNanny) {
if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#endif #endif
/* "aesara/scan/scan_perform.pyx":50 /* "aesara/scan/scan_perform.pyx":49
* by describing the arguments of this function)
* """ * """
* import cython * import sys # <<<<<<<<<<<<<<
* import numpy # <<<<<<<<<<<<<<
*
* cimport numpy
*/
__pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 50, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_numpy, __pyx_t_1) < 0) __PYX_ERR(0, 50, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "aesara/scan/scan_perform.pyx":54
* cimport numpy
* *
* import copy # <<<<<<<<<<<<<< * from libc.time cimport time, time_t
* import time
* import sys
*/ */
__pyx_t_1 = __Pyx_Import(__pyx_n_s_copy, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 54, __pyx_L1_error) __pyx_t_1 = __Pyx_Import(__pyx_n_s_sys, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 49, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_copy, __pyx_t_1) < 0) __PYX_ERR(0, 54, __pyx_L1_error) if (PyDict_SetItem(__pyx_d, __pyx_n_s_sys, __pyx_t_1) < 0) __PYX_ERR(0, 49, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "aesara/scan/scan_perform.pyx":55 /* "aesara/scan/scan_perform.pyx":55
* import cython
* *
* import copy * import numpy # <<<<<<<<<<<<<<
* import time # <<<<<<<<<<<<<< * cimport numpy
* import sys
*
*/
__pyx_t_1 = __Pyx_Import(__pyx_n_s_time, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 55, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_time, __pyx_t_1) < 0) __PYX_ERR(0, 55, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "aesara/scan/scan_perform.pyx":56
* import copy
* import time
* import sys # <<<<<<<<<<<<<<
* *
* from aesara.scan.utils import InnerFunctionError
*/ */
__pyx_t_1 = __Pyx_Import(__pyx_n_s_sys, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error) __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 55, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_sys, __pyx_t_1) < 0) __PYX_ERR(0, 56, __pyx_L1_error) if (PyDict_SetItem(__pyx_d, __pyx_n_s_numpy, __pyx_t_1) < 0) __PYX_ERR(0, 55, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "aesara/scan/scan_perform.pyx":58 /* "aesara/scan/scan_perform.pyx":58
* import sys * cimport numpy
* *
* from aesara.scan.utils import InnerFunctionError # <<<<<<<<<<<<<< * from aesara.scan.utils import InnerFunctionError # <<<<<<<<<<<<<<
* *
...@@ -23138,7 +23069,7 @@ if (!__Pyx_RefNanny) { ...@@ -23138,7 +23069,7 @@ if (!__Pyx_RefNanny) {
* *
* *
* def get_version(): # <<<<<<<<<<<<<< * def get_version(): # <<<<<<<<<<<<<<
* return 0.319 * return 0.320
* *
*/ */
__pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6aesara_4scan_12scan_perform_1get_version, NULL, __pyx_n_s_aesara_scan_scan_perform); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 64, __pyx_L1_error) __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_6aesara_4scan_12scan_perform_1get_version, NULL, __pyx_n_s_aesara_scan_scan_perform); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 64, __pyx_L1_error)
...@@ -27983,6 +27914,44 @@ raise_neg_overflow: ...@@ -27983,6 +27914,44 @@ raise_neg_overflow:
} }
} }
/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_time_t(time_t value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
const time_t neg_one = (time_t) -1, const_zero = (time_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
const int is_unsigned = neg_one > const_zero;
if (is_unsigned) {
if (sizeof(time_t) < sizeof(long)) {
return PyInt_FromLong((long) value);
} else if (sizeof(time_t) <= sizeof(unsigned long)) {
return PyLong_FromUnsignedLong((unsigned long) value);
#ifdef HAVE_LONG_LONG
} else if (sizeof(time_t) <= sizeof(unsigned PY_LONG_LONG)) {
return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
}
} else {
if (sizeof(time_t) <= sizeof(long)) {
return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
} else if (sizeof(time_t) <= sizeof(PY_LONG_LONG)) {
return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
}
}
{
int one = 1; int little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&value;
return _PyLong_FromByteArray(bytes, sizeof(time_t),
little, !is_unsigned);
}
}
/* CIntFromPy */ /* CIntFromPy */
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
...@@ -46,15 +46,15 @@ ...@@ -46,15 +46,15 @@
ones (where applicable). All this information is described (more or less) ones (where applicable). All this information is described (more or less)
by describing the arguments of this function) by describing the arguments of this function)
""" """
import sys
from libc.time cimport time, time_t
import cython import cython
import numpy
import numpy
cimport numpy cimport numpy
import copy
import time
import sys
from aesara.scan.utils import InnerFunctionError from aesara.scan.utils import InnerFunctionError
...@@ -62,7 +62,7 @@ numpy.import_array() ...@@ -62,7 +62,7 @@ numpy.import_array()
def get_version(): def get_version():
return 0.319 return 0.320
# TODO: We need to get rid of the negative indexing performed with `pos` and `l`. # TODO: We need to get rid of the negative indexing performed with `pos` and `l`.
# @cython.wraparound(False) # @cython.wraparound(False)
...@@ -94,7 +94,7 @@ def perform( ...@@ -94,7 +94,7 @@ def perform(
tuple outer_output_dtypes not None, tuple outer_output_dtypes not None,
tuple outer_output_ndims not None, tuple outer_output_ndims not None,
fn, fn,
) -> (float, int): ) -> (time_t, int):
""" """
Parameters Parameters
---------- ----------
...@@ -164,9 +164,9 @@ def perform( ...@@ -164,9 +164,9 @@ def perform(
""" """
# 1. Unzip the number of steps and sequences. If number of steps is # 1. Unzip the number of steps and sequences. If number of steps is
# negative flip sequences around, and make n_steps positive # negative flip sequences around, and make n_steps positive
cdef float t_fn = 0 cdef time_t t_fn = 0
cdef float t0_fn cdef time_t t0_fn
cdef float dt_fn cdef time_t dt_fn
cdef unsigned int n_steps = outer_inputs[0].item() cdef unsigned int n_steps = outer_inputs[0].item()
cdef unsigned int n_outs = n_mit_mot + n_mit_sot + n_sit_sot cdef unsigned int n_outs = n_mit_mot + n_mit_sot + n_sit_sot
cdef unsigned int seqs_arg_offset = n_seqs + 1 cdef unsigned int seqs_arg_offset = n_seqs + 1
...@@ -407,14 +407,14 @@ def perform( ...@@ -407,14 +407,14 @@ def perform(
old_mitmot_input_data[idx] = var.data old_mitmot_input_data[idx] = var.data
# 5.1 compute outputs # 5.1 compute outputs
t0_fn = time.time() t0_fn = time(NULL)
try: try:
fn() fn()
except Exception as exc: except Exception as exc:
raise InnerFunctionError(exc, sys.exc_info()[2]) raise InnerFunctionError(exc, sys.exc_info()[2])
dt_fn = time.time() - t0_fn dt_fn = time(NULL) - t0_fn
t_fn += dt_fn t_fn += dt_fn
if as_while: if as_while:
pdx = offset + n_shared_outs pdx = offset + n_shared_outs
......
...@@ -23,7 +23,7 @@ if not config.cxx: ...@@ -23,7 +23,7 @@ if not config.cxx:
_logger = logging.getLogger("aesara.scan.scan_perform") _logger = logging.getLogger("aesara.scan.scan_perform")
version = 0.319 # must match constant returned in function get_version() version = 0.320 # must match constant returned in function get_version()
need_reload = False need_reload = False
scan_perform: Optional[ModuleType] = None scan_perform: Optional[ModuleType] = None
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论